SQL server2008獲取建立表裡各列的屬性

2021-08-08 14:55:43 字數 1449 閱讀 8028

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='d_u8voucher_list'    --如果只查詢指定表,加上此條件(表名)

order by 

a.id,a.colorder

sqlserver 2008 獲取表屬性

以下sql 為獲取 sqlserver2008 乙個資料庫中所有表的資訊,便於把資料庫表資訊匯出為excel或者word做成資料庫字典 select 表名 case when a.colorder 1 then d.name else end,表說明 case when a.colorder 1 t...

sql server 2008獲取表的字段注釋

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

Sql Server 2008 收縮日誌

收縮日誌 alter database dnname set recovery with no wait goalter database dnname set recovery 簡單模式 gouse dnname godbcc shrinkfile n dnname log 11,truncate...