SQLServerでテーブルやカラムにコメントを付与する
SQLServerで作成したテーブルやカラムにコメントを付与する場合、sys.sp_addextendedpropertyを利用する。
テーブルにコメントを付与
作成したテーブルにコメントを付与するには、sys.sp_addextendedpropertyを以下の引数を指定して呼び出す。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | --テーブルを作成 CREATE TABLE test_table ( no INT ,name VARCHAR(20) ) --テーブルにコメントを付ける EXEC sys.sp_addextendedproperty @name=N'MS_Description' ,@value=N'テストテーブル' ,@level0type=N'SCHEMA' ,@level0name=N'dbo' ,@level1type=N'TABLE' ,@level1name=N'test_table' |
テーブルに付与したコメントを取得
付与したコメントを取得するには、extended_propertiesを参照する。
1 2 3 4 5 6 7 8 9 10 | SELECT t.name AS table_name ,ep.value AS comment FROM sys.tables AS t ,sys.extended_properties AS ep WHERE t.name = 'test_table' AND t.object_id = ep.major_id AND ep.minor_id = 0 |
1 2 | table_name comment test_table テストテーブル |
カラムにコメントを付与
カラムにコメントを付与する場合もsys.sp_addextendedpropertyを以下の引数を指定して呼び出す。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | EXEC sys.sp_addextendedproperty @name=N'MS_Description' ,@value=N'番号' ,@level0type=N'SCHEMA' ,@level0name=N'dbo' ,@level1type=N'TABLE' ,@level1name=N'test_table' ,@level2type=N'COLUMN' ,@level2name=N'no' EXEC sys.sp_addextendedproperty @name=N'MS_Description' ,@value=N'氏名' ,@level0type=N'SCHEMA' ,@level0name=N'dbo' ,@level1type=N'TABLE' ,@level1name=N'test_table' ,@level2type=N'COLUMN' ,@level2name=N'name' |
カラムに付与したコメントを取得
付与したコメントを取得するには、extended_propertiesを参照する。
1 2 3 4 5 6 7 8 9 10 11 12 13 | SELECT t.name AS table_name ,c.name AS column_name ,ep.value AS commnet FROM sys.tables AS t ,sys.columns AS c ,sys.extended_properties AS ep WHERE t.name = 'test_table' AND t.object_id = c.object_id AND c.object_id = ep.major_id AND c.column_id = ep.minor_id |
1 2 3 | table_name column_name commnet test_table no 番号 test_table name 氏名 |
これを利用すれば簡易的なテーブル仕様書の作成が可能となる。