顯示錶結構的SQL

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.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 sysproperties g on a.id=g.id and a.colid=g.smallid
 left join sysproperties f on d.id=f.id and f.smallid=0
 --where d.name='要查詢的表' --如果只查詢指定表,加上此條件
order by a.id,a.colorder
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章