指定したカラム名を持つテーブルの一覧を取得する
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

コメント