首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MSSQL 欄位說明擴充屬性完整操作指南:新增、查詢、刪除

     編輯:MySQL 資料庫相關知識

核心系統預存程序

  • sp_addextendedproperty:新增/修改說明
  • sp_dropextendedproperty:刪除說明
  • sp_updateextendedproperty:更新說明(同新增)

新增欄位說明

EXEC sp_addextendedproperty
    @name = N'MS_Description',
    @value = N'這裡填寫欄位說明文字',
    @level0type = N'SCHEMA', @level0name = N'dbo',
    @level1type = N'TABLE',  @level1name = N'TableName',
    @level2type = N'COLUMN', @level2name = N'ColumnName';

刪除欄位說明

EXEC sp_dropextendedproperty
    @name = N'MS_Description',
    @level0type = N'SCHEMA', @level0name = N'dbo',
    @level1type = N'TABLE',  @level1name = N'TableName',
    @level2type = N'COLUMN', @level2name = N'ColumnName';

查詢所有表欄位說明

SELECT
    TABLE_NAME AS [Table Name],
    COLUMN_NAME AS [Column Name],
    value AS [Description]
FROM INFORMATION_SCHEMA.COLUMNS c
LEFT JOIN sys.extended_properties ep
    ON ep.major_id = OBJECT_ID(c.TABLE_SCHEMA + '.' + c.TABLE_NAME)
   AND ep.minor_id = c.ORDINAL_POSITION
   AND ep.name = 'MS_Description'
   AND ep.class = 1
WHERE OBJECTPROPERTY(OBJECT_ID(c.TABLE_SCHEMA + '.' + c.TABLE_NAME), 'IsMsShipped') = 0
ORDER BY TABLE_NAME, ORDINAL_POSITION;

查詢單一表說明

SELECT
    COLUMN_NAME AS [Column Name],
    value AS [Description]
FROM INFORMATION_SCHEMA.COLUMNS c
LEFT JOIN sys.extended_properties ep
    ON ep.major_id = OBJECT_ID('dbo.TableName')
   AND ep.minor_id = c.ORDINAL_POSITION
   AND ep.name = 'MS_Description'
   AND ep.class = 1
WHERE TABLE_NAME = 'TableName'
ORDER BY ORDINAL_POSITION;

參數對照表

參數說明固定值/範例
@name屬性名稱MS_Description (標準)
@value說明內容任意 NVARCHAR
@level0type第 0 層類型SCHEMA
@level0name第 0 層名稱dbo
@level1type第 1 層類型TABLE
@level1name第 1 層名稱表名
@level2type第 2 層類型COLUMN
@level2name第 2 層名稱欄位名

擴充:表級、索引級說明

-- 表說明
EXEC sp_addextendedproperty 'MS_Description', '表用途說明', 'SCHEMA', 'dbo', 'TABLE', 'TableName';

-- 索引說明
EXEC sp_addextendedproperty 'MS_Description', '索引用途', 'SCHEMA', 'dbo', 'TABLE', 'TableName', 'INDEX', 'IndexName';

管理工具支援

  • SSMS 物件總管 → 右鍵欄位 → 屬性 → 擴充屬性 → 編輯。
  • 第三方工具(ApexSQL Doc、Redgate SQL Doc)可自動產出含說明的資料字典文件。

最佳實踐

  1. 建表腳本同步包含 sp_addextendedproperty,納入版控。
  2. 命名規範:MS_Description 為標準,避免自訂名稱導致工具無法識別。
  3. 定期匯出資料字典供業務/測試/新人參考。

善用擴充屬性,讓資料庫自我文檔化,降低溝通成本與維護風險。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved