指定した列が存在するか確認して処理分岐する方法
文書番号:20634
指定した列が存在するかどうかを確認し、その結果によって処理を分岐する方法です。
動的に列を作成する場合などでは、その時点で列が存在するかを確認し、存在しない場合は作成する。といった処理ができます。
・指定したテーブルが存在するか確認する
IF EXISTS(SELECT *
FROM sys.columns
WHERE Name = N'<列名>'
AND Object_ID = OBJECT_ID(N'<テーブル名>')
)
--存在したときの処理
ELSE
--存在しないときの処理
-- 実行例
IF EXISTS(SELECT *
FROM sys.columns
WHERE Name = N'Col001'
AND Object_ID = OBJECT_ID(N'Table_1')
)
SELECT '存在した'
ELSE
SELECT '存在しない'
「sys.columns」表を参照し、指定したテーブルに指定した列が存在するかを確認しています。