SQL Server-SQLでテーブル仕様書になるものネタを取ってみる

プログラミング SQL Server

SQLでテーブル仕様書になるものネタを取ってみます。

スポンサーリンク

SQLでテーブル仕様書を作ってみる

SQLを利用してテーブルのカラム名や属性を取得して、テーブル仕様書を自動で作ってみます。

実行するSQLは以下の通りです。

SELECT
     t.name       AS TABLE_NAME
    ,ep.value     AS COMMENT
    ,c.name       AS COLUMN_NAME
    ,tp.name      AS COLUMN_TYPE
    ,c.max_length AS COLUMN_LEN
    ,CASE c.is_nullable WHEN 1 THEN 'yes' ELSE 'no' END AS NULLS
FROM
     sys.tables t
    ,sys.columns c
    ,sys.extended_properties ep
    ,sys.types tp 
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
    AND c.user_type_id = tp.user_type_id

これを実行すると

  TABLE_NAME  COMMENT     COLUMN_NAME COLUMN_TYPE COLUMN_LEN NULLS
  test_table ユニークID   ids         int                  4 no
  test_table 名称         ids_name    varchar             30 yes
  test_table 有効期限開始 from_date   date                 3 no
  test_table 有効期限終了 to_date     date                 3 no

と取れるので、これを元にテーブル仕様書を作成できないかと。

プライマリーキーやインデックス情報も取得しないとダメですね。

タイトルとURLをコピーしました