Làm thế nào chúng ta có thể biết được mô tả của mỗi cột trong một bảng (DB2) thông qua SQL?Mô tả các cột trong bảng DB2
Cơ sở dữ liệu của tôi là DB2.
Làm thế nào chúng ta có thể biết được mô tả của mỗi cột trong một bảng (DB2) thông qua SQL?Mô tả các cột trong bảng DB2
Cơ sở dữ liệu của tôi là DB2.
select
tabname,
colname,
typename,
length,
scale,
default,
nulls,
identity,
generated,
remarks,
keyseq
from
syscat.columns
describe table schema.table_name ;
tôi làm việc trên một hộp DB2 iSeries (v5r4), nó là một hương vị đặc biệt của DB2.
Nếu bạn đang ở trên hoặc kết nối với một iSeries (AS/400), liên kết được đề cập bởi Anton là xuất sắc nhất (xin lỗi, không thể bỏ phiếu chưa!)
Mô tả không hoạt động trên một iSeries, nhưng sẽ làm việc với DB2 trên các nền tảng khác.
SELECT COLNAME, REMARKS FROM SYSCAT.COLUMNS WHERE TABSCHEMA = 'MYSCHEMA' AND TABNAME = 'MYTABLENAME'
- Chú ý: mệnh đề where là trường hợp nhạy cảm và cần phải được viết hoa
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
- để có được một danh sách tất cả các bảng 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'
Đây là trên DB2 V5R4 và không phải là Bảng hệ thống mà là một SYSTEM VIEW
. Trong trường hợp bạn đi hạt tìm nó trên bảng danh sách.
Làm việc cho tôi:
select * from sysibm.columns
where table_schema = 'MY_SCHEMA'
V6R1 là ra! Nếu bạn có quyền truy cập vào các nhà cung cấp dữ liệu DLL, nó bây giờ thực hiện ADO.NET 2.0 (DbProviderFactory, vv). Nó tương thích ngược với V5R4. –