Описание столбцов в таблице DB2 - PullRequest
26 голосов
/ 24 февраля 2009

Как мы можем узнать описание каждого столбца в таблице (DB2) через SQL?

Моя база данных - DB2.

Ответы [ 8 ]

23 голосов
/ 24 февраля 2009
select 
  tabname,
  colname,
  typename,
  length,
  scale,
  default,
  nulls,
  identity,
  generated,
  remarks,
  keyseq 
from 
  syscat.columns 
12 голосов
/ 13 сентября 2014
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'

Это на DB2 V5R4, и это не системная таблица, а SYSTEM VIEW. В случае, если вы сходите с ума, ища его в списке таблиц.

12 голосов
/ 30 апреля 2013

- ПРИМЕЧАНИЕ: предложение where чувствительно к регистру и должно быть в верхнем регистре

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

- получить список всех мета таблиц:

select * from sysibm.tables
where table_schema = 'SYSIBM'
3 голосов
/ 03 октября 2011

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

2 голосов
/ 27 марта 2014
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' 
2 голосов
/ 27 февраля 2009

Я работаю на iSeries DB2 box (v5r4), это особый вариант DB2.

Если вы подключены к iSeries (AS / 400) или подключаетесь к нему, ссылка, упомянутая Антоном, является самой превосходной (извините, пока не можете голосовать!)

Describe не работает на iSeries, но будет работать с DB2 на других платформах.

2 голосов
/ 24 февраля 2009
describe table schema.table_name ;

Команда описания DB2

0 голосов
/ 19 сентября 2017

Работало у меня:

select * from sysibm.columns
where table_schema = 'MY_SCHEMA'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...