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 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.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 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='要查詢的表' --如果只查詢指定表,加上此條件
order by a.id,a.colorder
sqlserver 生成資料字典
1,select obj.name as 表名,col.colorder as 序號 col.name as 列名 isnull ep.value as 列說明 t.name as 資料型別 col.length as 長度 isnull columnproperty col.id,col.name...
SqlServer生成資料字典Excel
select 表名 case when a.colorder 1then d.name else end 表說明 case when a.colorder 1then isnull f.value,else end 字段序號 a.colorder,欄位名 a.name,字段說明 isnull g.v...
sql Server 2012 生成資料字典
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 ...