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
と取れるので、これを元にテーブル仕様書を作成できないかと。
プライマリーキーやインデックス情報も取得しないとダメですね。
