一、ORACLE
查某個架構下的所有表注釋
select
A.OWNER 架構名,
A.TABLE_NAME 表名,
B.COMMENTS 表解釋,
A.COLUMN_NAME 字段名,
A.COMMENTS 字段解釋
from dba_col_comments A
LEFT JOIN dba_tab_comments B ON A.TABLE_NAME=B.TABLE_NAME AND B.OWNER='架構名' AND B.TABLE_TYPE='TABLE'
WHERE A.OWNER='TMAIN'
二、SQLSERVER
SELECT
sch.NAME 架構名,
tab.name 表名,
ISNULL(ep2.value, '') 表解釋,
col.colorder 序號,
col.name 列名,
ISNULL(ep.value, '') 列說明,
ind.rows 表數據量,
t.name 數據類型,
col.length 長度,
ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小數位數,
CASE WHEN COLUMNPROPERTY(col.id, col.name, 'IsIdentity') = 1 THEN '√' ELSE '' END AS 標識,
CASE WHEN EXISTS( SELECT 1 FROM dbo.sysindexes si
INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid
INNER JOIN dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid
INNER JOIN dbo.sysobjects so ON so.name = si.name AND so.xtype = 'PK'
WHERE sc.id = col.id AND sc.colid = col.colid) THEN '√' ELSE ''END AS 主鍵,
CASE WHEN col.isnullable = 1 THEN '√' ELSE ''END AS 允許空,
ISNULL(comm.text, '') AS 默認值
FROM dbo.syscolumns col
LEFT JOIN dbo.systypes t ON col.xtype = t.xusertype
INNER JOIN dbo.sysobjects obj ON col.id = obj.id AND obj.xtype = 'U' AND obj.status >= 0
LEFT JOIN sysindexes ind ON obj.id=ind.id AND ind.indid IN(0,1) AND obj.Type='U'
LEFT JOIN sys.tables tab ON obj.ID=tab.object_id
LEFT join sys.schemas sch on tab.schema_id = sch.schema_id
LEFT JOIN dbo.syscomments comm ON col.cdefault = comm.id
LEFT JOIN sys.extended_properties ep ON col.id = ep.major_id AND col.colid = ep.minor_id AND ep.name = 'MS_Description'
LEFT JOIN sys.extended_properties ep2 ON tab.object_id = ep2.major_id AND ep2.minor_id = 0
三、DB2
SELECT a.TABSCHEMA,a.TABNAME,a.REMARKS,
b.COLNAME,b.REMARKS
FROM syscat.tables a
LEFT JOIN syscat.COLUMNS b on a.TABSCHEMA=b.TABSCHEMA and a.TABNAME=b.TABNAME and a.TYPE='T'
WHERE A.TABSCHEMA='架構名'