HOME >> Tips >> SQL Server Tips >> SQL

テーブルの列にコメントを追加・修正・削除・取得する

 
文書番号:20566




列のコメントを管理する方法です。

コマンドを使用して列にコメントを追加・修正・削除することができます。

【実行手順】

  • コメントを追加します。
    
    EXEC sys.sp_addextendedproperty  @name=N'MS_Description'
                                    ,@value=N'コメント'       --コメントを指定します。
                                    ,@level0type=N'SCHEMA'
                                    ,@level0name=N'dbo'     --スキーマ名を指定します。
                                    ,@level1type=N'TABLE'
                                    ,@level1name=N'TAB011'  --テーブル名を指定します。
                                    ,@level2type=N'COLUMN'
                                    ,@level2name=N'COL01'   --列名を指定します。青字の部分を変更して実行します。
    
  • コメントを変更します。
    
    EXEC sys.sp_updateextendedproperty  @name=N'MS_Description'
                                    ,@value=N'コメント'       --コメントを指定します。
                                    ,@level0type=N'SCHEMA'
                                    ,@level0name=N'dbo'     --スキーマ名を指定します。
                                    ,@level1type=N'TABLE'
                                    ,@level1name=N'TAB011'  --テーブル名を指定します。
                                    ,@level2type=N'COLUMN'
                                    ,@level2name=N'COL01'   --列名を指定します。青字の部分を変更して実行します。
    
  • コメントを削除します。
    
    EXEC sys.sp_dropextendedproperty  @name=N'MS_Description'
                                    ,@value=N'コメント'       --コメントを指定します。
                                    ,@level0type=N'SCHEMA'
                                    ,@level0name=N'dbo'     --スキーマ名を指定します。
                                    ,@level1type=N'TABLE'
                                    ,@level1name=N'TAB011'  --テーブル名を指定します。
                                    ,@level2type=N'COLUMN'
                                    ,@level2name=N'COL01'   --列名を指定します。青字の部分を変更して実行します。
    
  • 設定したコメントを取得する場合は以下のようにします。
    
    SELECT tab.name AS テーブル名
          ,ep.value AS コメント
    
    FROM sys.tables tab
    
    RIGHT OUTER JOIN sys.extended_properties ep
    ON  tab.object_id = ep.major_id
    AND ep.minor_id = 0
    
    WHERE  tab.name = '<テーブル名>'