【小山】sql server通過查詢系統表得到縱向的表結構
--如果是要得到縱向的表結構,可以查詢系統表
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='orders' --如果只查詢指定表,加上此條件
order by a.id,a.colorder
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='orders' --如果只查詢指定表,加上此條件
order by a.id,a.colorder
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-374439/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL語句查詢表結構SQL
- 查詢表結構
- SQL server根據表名查詢表主鍵SQLServer
- 通過SQL查詢兩張表中不匹配的行SQL
- 通過shell指令碼生成查詢表資料的sql指令碼SQL
- sqlserver表結構查詢SQLServer
- 讀取SQL Server 表結構SQLServer
- 封裝Vue縱向表頭左右結構的table表格封裝Vue
- 查詢 SQL SERVER 所有表記錄數SQLServer
- SQL Server 索引和表體系結構(聚集索引)SQLServer索引
- oracle系統表查詢Oracle
- SQL總結(二)連表查詢SQL
- SQL Server 查詢表註釋和欄位SQLServer
- 如何通過程式來查詢表名
- SQL Server 索引和表體系結構(非聚集索引)SQLServer索引
- SQL Server 索引和表體系結構(包含列索引)SQLServer索引
- SQL Server 實現行列(縱橫表)轉換SQLServer
- 通過shell和sql結合查詢效能sqlSQL
- SQL單表查詢語句總結SQL
- SQL Server 2005:模擬Oracle的desc命令編寫的describe,查詢表的結構SQLServerOracle
- MSSql得到表的結構和欄位SQL
- 修改SQL-SERVER資料庫表結構的SQL命令SQLServer資料庫
- SQL Server 批量生成資料庫內多個表的表結構SQLServer資料庫
- SQL server資料庫表碎片比例查詢語句SQLServer資料庫
- SQL Server中各個系統表的作用SQLServer
- hfm系統常見表查詢
- Sql Server 獲取指定表、檢視結構SQLServer
- SQL Server將直接傳遞查詢作為表使用的方法SQLServer
- sql server系統表詳細說明SQLServer
- 查詢全表掃描的sqlSQL
- 【PHP資料結構】雜湊表查詢PHP資料結構
- SQL 把查詢結果當作"表"來使用SQL
- 透過shell指令碼生成查詢表資料的sql指令碼SQL
- SQL 三表聯合查詢SQL
- SQL Server通過建立臨時表遍歷更新資料SQLServer
- sql server系統表詳細說明(zt)SQLServer
- 通過外部表改進一個繁瑣的大查詢
- 通過SQL查詢UDUMP檔案SQL