Cómo saber si una columna existe en una tabla en DB2

Lo más sencillo es consultar la tabla del catálogo SYSIBM.SYSCOLUMNS que contiene una fila por cada columna que exista de cada tabla o vista de la base de datos:

SELECT STRIP(TBCREATOR) || '.' || STRIP(TBNAME) 
FROM SYSIBM.SYSCOLUMNS 
WHERE NAME = 'column_name' 
  AND TBNAME IN ('table_name_1', 'table_name_2') -- Si quieres buscar en una lista de tablas
  AND TBCREATOR = 'your_schema'

Es más, si por ejemplo quieres ver toda la estructura de una tabla, podrías lanzar:

SELECT DISTINCT(name), COLTYPE, LENGTH 
FROM SYSIBM.SYSCOLUMNS 
WHERE TBNAME = tbname = 'table_name_1';

Aunque por supuesto, también puedes usar la sentencia DESCRIBE:

DESCRIBE TABLE your_schema.table_name_1

Probado en DB2 versión 10.1.0.5

Anuncios
Publicado en Uncategorized | Etiquetado , , | Deja un comentario