¿Cómo podemos saber la descripción de cada columna en una tabla (DB2) a través de SQL?Descripción de las columnas en una tabla de DB2
Mi base de datos es DB2.
¿Cómo podemos saber la descripción de cada columna en una tabla (DB2) a través de SQL?Descripción de las columnas en una tabla de DB2
Mi base de datos es DB2.
select
tabname,
colname,
typename,
length,
scale,
default,
nulls,
identity,
generated,
remarks,
keyseq
from
syscat.columns
describe table schema.table_name ;
Yo trabajo en una caja de DB2 iSeries (V5R4), que es un sabor especial de DB2.
Si estás en o conectarse a un iSeries (AS/400), el enlace mencionado por Anton es más excelente (lo siento, no puede votar todavía!)
Describir no funciona en un iSeries, pero trabajará con DB2 en las otras plataformas.
SELECT COLNAME, REMARKS FROM SYSCAT.COLUMNS WHERE TABSCHEMA = 'MYSCHEMA' AND TABNAME = 'MYTABLENAME'
- NOTA: la cláusula where mayúsculas y minúsculas y mayúsculas necesita ser
select
t.table_schema as Library
,t.table_name
,t.table_type
,c.column_name
,c.ordinal_position
,c.data_type
,c.character_maximum_length as Length
,c.numeric_precision as Precision
,c.numeric_scale as Scale
,c.column_default
,t.is_insertable_into
from sysibm.tables t
join sysibm.columns c
on t.table_schema = c.table_schema
and t.table_name = c.table_name
where t.table_schema = 'MYLIB'
and t.table_name = 'MYTABLE'
order by t.table_name, c.ordinal_position
- para obtener una lista de todas las tablas meta:
select * from sysibm.tables
where table_schema = 'SYSIBM'
select T1.name,T1.creator from sysibm.systables T1,sysibm.syscolumns
T2 where T1.name=T2.tbname and T1.creator=T2.tbccreator and
T1.creator='CREATOR NAME' and T2.name='COLUMN NAME'
SELECT
TABLE_CAT,
TABLE_SCHEM,
TABLE_NAME,
COLUMN_NAME,
DATA_TYPE,
TYPE_NAME,
COLUMN_SIZE,
COLUMN_TEXT
FROM "SYSIBM"."SQLCOLUMNS"
WHERE TABLE_SCHEM = 'SCHEMA'
AND TABLE_NAME = 'TABLE'
Esto está en DB2 V5R4, y no es una tabla de sistema sino un SYSTEM VIEW
. En caso de que te vuelvas loco buscándolo en la lista de mesas.
trabajado para mí:
select * from sysibm.columns
where table_schema = 'MY_SCHEMA'
V6R1 está fuera! Si tiene acceso a la DLL del proveedor de datos, ahora implementa ADO.NET 2.0 (DbProviderFactory, etc.). Es retrocompatible con V5R4. –