SQL server 為表和欄位新增表描述和欄位描述
阿新 • • 發佈:2020-12-31
檢視當前資料庫中已存在描述的表與欄位:
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.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 LEFT JOIN sys.extended_properties f ON d.id = f.major_id AND f.minor_id = 0
在查詢分析器中執行上面的SQL,結果可以直接匯出execl檔案
新增表說明:
EXECUTE sp_addextendedproperty N'MS_Description','表說明',N'user',N'dbo',N'table',N'表名',NULL,NULL
刪除表說明:
EXEC sp_dropextendedproperty N'MS_Description','user','dbo','table', '表名', NULL,NULL
新增欄位說明:
EXECUTE sp_addextendedproperty N'MS_Description','欄位說明內容',N'user',N'dbo',N'table',N'表名',N'column',N'欄位名'
刪除欄位說明:
EXEC sp_dropextendedproperty N'MS_Description', 'user','dbo', 'table', '表名', 'column','欄位名'
出處:https://blog.csdn.net/zhangyongze_z/article/details/84789821