2009-02-24 8 views

Répondre

19
select 
    tabname, 
    colname, 
    typename, 
    length, 
    scale, 
    default, 
    nulls, 
    identity, 
    generated, 
    remarks, 
    keyseq 
from 
    syscat.columns 
2

Je travaille sur une boîte de DB2 iSeries (V5R4 de), il est une saveur particulière de DB2.

Si vous êtes ou connecte à un iSeries (AS/400), le lien mentionné par Anton est excellent (désolé, ne peut pas voter encore!)

Décrire ne fonctionne pas sur un iSeries, mais travaillera avec DB2 sur les autres plates-formes.

+1

V6R1 est sorti! Si vous avez accès à la DLL du fournisseur de données, elle implémente maintenant ADO.NET 2.0 (DbProviderFactory, etc). Il est rétrocompatible avec V5R4. –

2

SELECT COLNAME, REMARKS FROM SYSCAT.COLUMNS WHERE TABSCHEMA = 'MYSCHEMA' AND TABNAME = 'MYTABLENAME'

11

- REMARQUE: la clause where est sensible à la casse et doit être en majuscules

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 

- pour obtenir une liste de toutes les tables de méta:

select * from sysibm.tables 
where table_schema = 'SYSIBM' 
2
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' 
10
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' 

Ceci est activé DB2 V5R4 et n'est pas une table système mais un SYSTEM VIEW. Dans le cas où vous devenez fou à la recherche sur la liste des tables.

0

a marché pour moi:

select * from sysibm.columns 
where table_schema = 'MY_SCHEMA'