SqlServer中讀取表結構信息

1.創建讀取表結構存儲過程,直接傳入表名稱即可查看相關表結構信息/說明

具體代碼如下:

CREATE PROCEDURE [dbo].[SP_GET_Table_Explain] 
@T_Name varchar(64)
as
SELECT
 (CASE WHEN a.colorder=1 THEN d.name ELSE '' END) N'表名',
 a.colorder N'字段序號',
 a.name N'字段名',
  b.name N'類型',
  COLUMNPROPERTY(a.id,a.name,'PRECISION') AS N'長度',
 (CASE WHEN COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 THEN '√'ELSE '' END) N'標識',
 (CASE WHEN (SELECT COUNT(*)
 FROM sysobjects
 WHERE (name in
           (SELECT name
          FROM sysindexes
          WHERE (id = a.id) AND (indid in
                    (SELECT indid
                   FROM sysindexkeys
                   WHERE (id = a.id) AND (colid in
                             (SELECT colid
                            FROM syscolumns
                            WHERE (id = a.id) AND (name = a.name))))))) AND
        (xtype = 'PK'))>0 THEN '√' ELSE '' END) N'主鍵',
 --a.length N'佔用字節數',
 ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0) AS N'小數位數',
 (CASE WHEN a.isnullable=1 THEN '√'ELSE '' END) N'允許空',
 ISNULL(e.text,'') N'默認值',
 ISNULL(g.[value],'') AS N'字段說明'
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   
WHERE
 d.name = @T_Name --要查詢的表
ORDER BY
 object_name(a.id), a.colorder

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章