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
Esta entrada fue publicada en Uncategorized y etiquetada , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s