是否可以在单个IF
SQL语句中测试两个EXISTS
条件?我试过以下方法。
IF EXIST (SELECT * FROM tblOne WHERE field1 = @parm1 AND field2 = @parm2)
OR
EXIST (SELECT * FROM tblTwo WHERE field1 = @parm5 AND field2 = @parm3)
我试过在那里添加额外的IF
和括号,但无济于事。
你能告诉我正确的语法吗?
SQL Server
IF EXISTS (SELECT *
FROM tblOne
WHERE field1 = @parm1
AND field2 = @parm2)
OR EXISTS (SELECT *
FROM tblTwo
WHERE field1 = @parm5
AND field2 = @parm3)
PRINT 'YES'
很好,注意唯一改变的是EXISTS
而不是EXIST
。如果第一个测试是正确的,这个计划可能是一个UNION ALL
短路。
您在EXIST
结尾漏掉了一个SEXISTS, not EXIST
您也可以编写IN语句
IF EXISTS (SELECT * FROM tblOne WHERE field1 = @parm1 AND field2 IN (@parm2,@parm3)