Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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句を消せば他のプロパティを取得することが出来ます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした