SQLServerでユニークインデックスとカラム情報を取得してテーブル定義書を作成する

SQLServerで使用されているテーブルの定義書をSQLで簡単に出力できれば便利かと思い、以前に書いた記事のSQLを修正して、ユニークインデックスの情報も出力するように変更してみました。

ユニークインデックスとカラム情報を取得する方法

今回は参照記事のsys.objects, sys.columnsというシステムビューに加えsys.tables,sys.key_constraints,sys.index_columnsも合わせて参照するようにします。

実際にSQLServerでユニークインデックスとカラム情報を取得するSQLは以下の通りです。

上記のSQLを実行すると

のような結果が得られます。

これで「テーブル名」「項目名」「属性」「長さ」「NULLの許可」「プライマリキー」が取得できました。

簡易的なテーブル定義書の下書きがこれで完成です。

以上、SQLServerでユニークインデックスとカラム情報を取得してテーブル定義書を作成するでした。