SQL Server のテーブル定義書を SQL で出力する

SQL で SQL Server のテーブル定義書を出力する

テーブル定義書をいまあるテーブルから起こしたいとき、SQL コマンドでサクッと出力して Excel に貼ると便利です。

DECLARE @tableName NVARCHAR(50); 
SET @tableName = 'Customer';

SELECT
    obj.name AS テーブル名
    ,col.name AS 列名
    ,type_name(user_type_id) AS データ型
    ,CONCAT(type_name(user_type_id), '(', max_length, ')') AS データ型
    ,CASE
        WHEN is_nullable = 1 THEN '○'
        ELSE ''
    END AS NULLを許可
FROM
    sys.objects obj
    INNER JOIN
        sys.columns col
    ON  obj.object_id = col.object_id
WHERE
    obj.type = 'U'
	AND obj.name = @tableName
ORDER BY
    col.column_id

SQL 自体はそのままにしたいので、テーブル名は変数 @tableName で定義しています。
お好みで、文字列の部分を直接 書き換えてもよいです。

出力した内容をすべてコピー

SQL を実行した後、全選択します(Ctrl + A か、左上をクリック)。

ヘッダー付きでコピー

右クリックで「ヘッダー付きでコピー」を選択。

コピーした内容を Excel に貼り付け

出力内容がクリップボードにコピーされるので、Excel に貼り付けます。納品物の元ネタづくりにどうぞ。

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック