如果存在或存在?

use*_*433 7 sql sql-server conditional exists

是否可以EXISTS在单个IFSQL语句中测试两个条件?我尝试了以下内容.

IF EXIST (SELECT * FROM tblOne WHERE field1 = @parm1 AND field2 = @parm2) 
   OR 
   EXIST (SELECT * FROM tblTwo WHERE field1 = @parm5 AND field2 = @parm3) 
Run Code Online (Sandbox Code Playgroud)

我试过IF在那里添加额外的括号,但无济于事.

你能用正确的语法帮助我吗?

Mar*_*ith 15

如果是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' 
Run Code Online (Sandbox Code Playgroud)

很好,请注意唯一改变的EXISTS不是EXIST.UNION ALL如果测试的第一个是真的,那么这个计划可能就是短路.


ale*_*exb 5

你在EXIST结束时错过了一个S.

存在S,而不是EXIST