フィールド記述拡張プロパティが存在する場所とその取得方法に関する投稿はたくさんありますが、CREATETABLEステージでこれらを追加することについては何もありません。
私は動的にテーブルを作成しているので、フィールドの説明を動的に追加するのは簡単なことですが、方法がわかりません。
誰かがこれを行うことができましたか?
CREATE TABLE
でそれを行うことはできませんが、同じデータベーススクリプトで、 このアプローチ を使用して同時に行うことができます。
CREATE table T1 (id int , name char (20))
EXEC sp_addextendedproperty 'MS_Description', 'Employee ID', 'user', dbo, 'table', 'T1', 'column', id
EXEC sp_addextendedproperty 'MS_Description', 'Employee Name', 'user', dbo, 'table', 'T1', 'column', name
次に、これを使用してエントリを表示できます。
SELECT *
FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'T1', 'column', default)
Create TableT-SQLステートメントがこれをサポートしているとは思いません。ただし、SSMSを介してテーブルを定義している場合は、テーブルの作成と同時にテーブルレベルと列レベルのコメントを簡単に入力できます。
SQL Serverは、一度に1つの名前と値のペアで説明を追加できるシステムストアドプロシージャを提供します。
次の例:
EXEC sys.sp_addextendedproperty
@name=N'Column 2 Description' -- Give your description a name
, @value=N'blah blah 2 for a specific column' -- Actual description
, @level0type=N'SCHEMA'
, @level0name=N'dbo'
, @level1type=N'TABLE'
, @level1name=N'MyTestTable' -- Name of your table
GO
説明の名前と値のペアごとに繰り返す必要があります
お役に立てれば