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

