【小山】sql server通過查詢系統表得到縱向的表結構

iDotNetSpace發表於2008-07-08
--如果是要得到縱向的表結構,可以查詢系統表
【小山】sql server通過查詢系統表得到縱向的表結構

【小山】sql server通過查詢系統表得到縱向的表結構
SELECT 
【小山】sql server通過查詢系統表得到縱向的表結構表名
=case when a.colorder=1 then d.name else '' end,
【小山】sql server通過查詢系統表得到縱向的表結構表說明
=case when a.colorder=1 then isnull(f.value,''else '' end,
【小山】sql server通過查詢系統表得到縱向的表結構欄位序號
=a.colorder,
【小山】sql server通過查詢系統表得到縱向的表結構欄位名
=a.name,
【小山】sql server通過查詢系統表得到縱向的表結構標識
=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then ''else '' end,
【小山】sql server通過查詢系統表得到縱向的表結構主鍵
=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (
【小山】sql server通過查詢系統表得到縱向的表結構
SELECT name FROM sysindexes WHERE indid in(
【小山】sql server通過查詢系統表得到縱向的表結構
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
【小山】sql server通過查詢系統表得到縱向的表結構))) 
then '' else '' end,
【小山】sql server通過查詢系統表得到縱向的表結構型別
=b.name,
【小山】sql server通過查詢系統表得到縱向的表結構佔用位元組數
=a.length,
【小山】sql server通過查詢系統表得到縱向的表結構長度
=COLUMNPROPERTY(a.id,a.name,'PRECISION'),
【小山】sql server通過查詢系統表得到縱向的表結構小數位數
=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
【小山】sql server通過查詢系統表得到縱向的表結構允許空
=case when a.isnullable=1 then ''else '' end,
【小山】sql server通過查詢系統表得到縱向的表結構預設值
=isnull(e.text,''),
【小山】sql server通過查詢系統表得到縱向的表結構欄位說明
=isnull(g.[value],'')
【小山】sql server通過查詢系統表得到縱向的表結構
FROM syscolumns a
【小山】sql server通過查詢系統表得到縱向的表結構
left join systypes b on a.xusertype=b.xusertype
【小山】sql server通過查詢系統表得到縱向的表結構
inner join sysobjects d on a.id=d.id  and d.xtype='U' and  d.name<>'dtproperties'
【小山】sql server通過查詢系統表得到縱向的表結構
left join syscomments e on a.cdefault=e.id
【小山】sql server通過查詢系統表得到縱向的表結構
left join sysproperties g on a.id=g.id and a.colid=g.smallid  
【小山】sql server通過查詢系統表得到縱向的表結構
left join sysproperties f on d.id=f.id and f.smallid=0
【小山】sql server通過查詢系統表得到縱向的表結構
--where d.name='orders'    --如果只查詢指定表,加上此條件
【小山】sql server通過查詢系統表得到縱向的表結構
order by a.id,a.colorder

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-374439/,如需轉載,請註明出處,否則將追究法律責任。

相關文章