8
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【SQL Server】テーブルやカラムの説明を設定し、取得してみる

Posted at

SQL Serverではテーブルやカラムに説明を付けることができます。

設定方法

テーブル

① [オブジェクトエクスプローラー] → 対象のテーブルを選択して[右クリック] → [プロパティ] → [拡張プロパティ]

② [名前]にMS_Description、[値]に付けたい説明を入力。

image

カラム

① [オブジェクトエクスプローラー] → 対象のテーブルを選択して[右クリック] → [デザイナ] → 対象のカラムを選択

② [列のプロパティ]の下のほうにある[説明]の項目に付けたい説明を入力。

image

※上記方法以外にもオブジェクトエクスプローラーの列フォルダ内からプロパティで設定することも出来ます。そのときはテーブルの設定方法と同じです。

取得方法

--テーブルの説明
SELECT
	t.name AS 'TableName',
	ep.value AS 'PropertyValue'
FROM
	sys.tables t
INNER JOIN
	sys.extended_properties ep
	ON
		ep.major_id = t.object_id
		AND
		ep.minor_id = 0
WHERE
	ep.name LIKE 'MS_Description'

--カラムの説明
SELECT
	t.name AS 'TableName',
	c.name AS 'ColumnName',
	ep.name AS 'PropertyName',
	ep.value AS 'PropertyValue'
FROM
	sys.tables t
INNER JOIN
	sys.columns c
	ON
		c.object_id = t.object_id
INNER JOIN
	sys.extended_properties ep
	ON
		ep.major_id = c.object_id
		AND
		ep.minor_id = c.column_id
WHERE
	ep.name LIKE 'MS_Description'

補足

この説明というプロパティ、どうもSQL Serverの拡張プロパティの機能の一部らしく、説明以外にも色々なプロパティを設定することができます。
(独自の項目を設定することも可能な模様。)

他の拡張プロパティを取得するときは、上記のSQLのWHERE句を消せば他のプロパティを取得することが出来ます。

8
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?