指定した列名を利用しているテーブルを検索
SQLServerで指定した列名がどのテーブルで使用されているのか調べるSQLです。
列名の変更や型の整合性などを見る時にすべてのテーブルから列名を
探しだすと楽にチェックすることができます。
実行するSQL
実行するSQLはINFORMATION_SCHEMA.COLUMNSから情報を検索します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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 |
実行結果
実行結果は以下のとおりになります。
1 2 3 |
テーブル名 カラム名 データタイプ データ長 test_table1 person_name varchar 20 test_table2 person_name varchar 10 |
1 2 |
テーブル名 カラム名 データタイプ データ長 test_table1 age smallint NULL |