SQLServerで指定した列名がどのテーブルで使用されているのか調べるSQLです。
指定した列名を利用しているテーブルを検索
SQLServerで指定した列名がどのテーブルで使用されているのか調べるSQLです。
列名の変更や型の整合性などを見る時にすべてのテーブルから列名を探しだすと楽にチェックすることができます。
実行するSQL
実行するSQLはINFORMATION_SCHEMA.COLUMNSから情報を検索します。
CREATE TABLE test_table1 ( no INT ,person_name VARCHAR(20) ,age SMALLINT ) CREATE TABLE test_table2 ( no INT ,person_name VARCHAR(10) ) SELECT table_name AS テーブル名 ,column_name AS カラム名 ,data_type AS データタイプ ,character_maximum_length AS データ長 FROM INFORMATION_SCHEMA.COLUMNS WHERE column_name = 'person_name' ORDER BY table_name SELECT table_name AS テーブル名 ,column_name AS カラム名 ,data_type AS データタイプ ,character_maximum_length AS データ長 FROM INFORMATION_SCHEMA.COLUMNS WHERE column_name = 'age' ORDER BY table_name DROP TABLE test_table1 DROP TABLE test_table2
実行結果
実行結果は以下のとおりになります。
テーブル名 カラム名 データタイプ データ長 test_table1 person_name varchar 20 test_table2 person_name varchar 10
テーブル名 カラム名 データタイプ データ長 test_table1 age smallint NULL