sql - example - Descripción de columnas en una tabla de DB2
ejemplos de consultas en mysql (8)
¿Cómo podemos saber la descripción de cada columna en una tabla (DB2) a través de SQL?
Mi base de datos es DB2.
Trabajo en un cuadro iSeries DB2 (v5r4), es un sabor especial de DB2.
Si está conectado o conectando a un iSeries (AS / 400), el enlace mencionado por Anton es excelente (lo siento, todavía no puedo votar).
Describir no funciona en un iSeries, pero funcionará con DB2 en las otras plataformas.
SELECT COLNAME, REMARKS FROM SYSCAT.COLUMNS WHERE TABSCHEMA = ''MYSCHEMA'' AND TABNAME = ''MYTABLENAME''
- NOTA: la cláusula where distingue entre mayúsculas y minúsculas y debe ser mayúscula
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 meta tablas:
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''
describe table schema.table_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 del sistema sino una SYSTEM VIEW
. En caso de que te vuelvas loco buscándolo en la lista de mesas.
select
tabname,
colname,
typename,
length,
scale,
default,
nulls,
identity,
generated,
remarks,
keyseq
from
syscat.columns
Trabajó para mi:
select * from sysibm.columns
where table_schema = ''MY_SCHEMA''