指定したカラム名を持つテーブルの一覧を取得する
ER図やらなんやらテーブル設計がない場合に役立つと思います。
例えば一部の名称を持つテーブル名を検索する場合は、テーブル名に
t.name LIKE ‘%test%’
などで検索出来ます。
他には特定のフィールドをverchar(20)からverchar(50)に拡張したいけど、他の項目は大丈夫かなど調べたい時に使えます。
クエリ
SELECT SCHEMA_NAME(t.schema_id) AS スキーマ名 ,t.name AS テーブル名 ,c.name AS 項目名 ,type_name(c.user_type_id) AS 属性 ,c.max_length AS 長さ ,CASE WHEN c.is_nullable = 1 THEN 'YES' ELSE 'NO' END AS NULL許可 FROM sys.objects t INNER JOIN sys.columns c ON t.object_id = c.object_id WHERE t.type = 'U' AND t.name = 'テーブル名' AND c.name = '列名' ORDER BY c.column_id
コメント