が存在する場合、私は、次の論理的な句を実行する必要があります:列が存在し、それが一定の値を、次に何かを持っている場合T SQLそれは、値Xを持っている場合、列は((当時
を ない場合は、何かをします。他
IF EXISTS(
SELECT *
FROM sys.columns
WHERE Name = N'legacyoptions'
AND Object_ID = Object_ID(N'config '))
BEGIN
if (select legacyoptions from config)=1
begin
Do stuff when legacy=1
end
else begin
Do stuff when legacy !=1
END
else
begin
do stuff when legacy is not present
end
しかし、このようなケースlegacyoptions
では動作しません
動的SQLを使用する方法があります。 – jarlh
あなたのSQLはうまくいくようです。 「うまくいけない」とはどういう意味ですか? –
@ZoharPeled - 'config'テーブルに' legacyoptions'という列がない場合、このバッチ全体が*コンパイル*に失敗します。したがって、テストが実行されて列が存在するかどうかを確認し、その列を照会するSELECT文を実行することは決してありません。 –