採用sql語句生成資料字典,獲得表字段及說明

2021-06-18 01:20:57 字數 2912 閱讀 5166

--獲得表common_channel欄位及說明

select a.name,b.value from syscolumns a,sysproperties b where a.id=b.id and a.id=object_id('common_channel') and a.colorder=b.smallid;

--採用sql語句生成資料字典

select 表名=case when a.colorder=1 then d.name else '' end,

--欄位序號=a.colorder,

欄位名=a.name,

字段說明=isnull(g.[value],''),

--標識=case when columnproperty( a.id,a.name,'isidentity')=1 then '√'else '' end,

主鍵=case when exists(select 1 from sysobjects where xtype='pk' and name

in ( select name from sysindexes where indid

in( select indid from sysindexkeys where id = a.id and colid=a.colid )))

then '√' else '' end,

字段型別=b.name,

--占用位元組數=a.length,

長度=columnproperty(a.id,a.name,'precision'),

小數字數=isnull(columnproperty(a.id,a.name,'scale'),0),

允許空=case when a.isnullable=1 then '是'else '否' end,

預設值=isnull(e.text,'無')

from syscolumns a left join systypes b on a.xtype=b.xusertype inner join sysobjects d on a.id=d.id

and d.xtype='u' and d.name<>'dtproperties'

left join syscomments e on a.cdefault=e.id left join sysproperties g on a.id=g.id

and a.colid=g.smallid

order by a.id,a.colorder

--mysql採用sql語句生成資料字典

select column_name,column_comment, column_type, is_nullable, column_default from information_schema.columns where table_name = 'article_sort'

--sqlserver2005生成語句

select 表名   = case when a.colorder=1 then d.name else '' end,

表說明     = case when a.colorder=1 then isnull(f.value,'') else '' end,

-- 字段序號   = a.colorder,

欄位名     = a.name,

標識       = case when columnproperty( a.id,a.name,'isidentity')=1 then '√'else '' end,

主鍵       = case when exists(select 1 from sysobjects where xtype='pk' and parent_obj=a.id and name in (

select name from sysindexes where indid in( select indid from sysindexkeys where id = a.id and colid=a.colid))) then '√' else '' end,

型別       = b.name,

占用位元組數 = a.length,

長度       = columnproperty(a.id,a.name,'precision'),

小數字數   = isnull(columnproperty(a.id,a.name,'scale'),0),

允許空     = case when a.isnullable=1 then '√'else '' end,

預設值     = isnull(e.text,''),

字段說明   = isnull(g.[value],'')

from

syscolumns a

left join

systypes b

on    a.xusertype=b.xusertype

inner join

sysobjects d

on    a.id=d.id  and d.xtype='u' and  d.name<>'dtproperties'

left join

syscomments e

on    a.cdefault=e.id

left join

sys.extended_properties   g

on    a.id=g.major_id and a.colid=g.minor_id

left join

sys.extended_properties f

on    d.id=f.major_id and f.minor_id=0

-- where d.name='c_party_spreader'    --如果只查詢指定表,加上此條件

order by

d.name,a.id,a.colorder

SqlServer生成資料字典語句

select 表名 case when a.colorder 1 then d.name else end,表說明 case when a.colorder 1 then isnull f.value,else end,字段序號 a.colorder,欄位名 a.name,標識 case when ...

Oracle自動生成資料字典的SQL語句

讀取oracle表字段名字,型別 含長度 注釋等資訊的sql語句 select col.column name,com.comments,col.data type,col.data length from sys.all tab columns col,sys.all col comments c...

Oracle自動生成資料字典的SQL語句

讀取oracle表字段名字,型別 含長度 注釋等資訊的sql語句 select col.column name,com.comments,col.data type,col.data length from sys.all tab columns col,sys.all col comments c...