当前位置:  开发笔记 > 数据库 > 正文

Sql server抱怨这个IF NOT EXISTS语句

如何解决《Sqlserver抱怨这个IFNOTEXISTS语句》经验,为你挑选了1个好方法。

Sql server抱怨这个IF NOT EXISTS语句,说关键字'OR'附近有'错误的语法'.

我的查询:

IF NOT EXISTS ( 
                (SELECT * FROM Users where userID = 1)
                OR
                (SELECT * FROM sales WHERE saleID = 1)
              )
BEGIN
            // blah blah blah

END

Steven A. Lo.. 8

试试这种方式

IF 
    NOT EXISTS (SELECT 1 FROM Users where userID = 1)  
AND 
    NOT EXISTS (SELECT 1 FROM sales WHERE saleID = 1)
BEGIN 
       -- blah blah blah
END

或者,如果你坚持分离:

IF NOT (
    EXISTS (SELECT 1 FROM Users where userID = 1)  
    OR 
    EXISTS (SELECT 1 FROM sales WHERE saleID = 1)
)
BEGIN 
    -- blah blah blah
END

EXISTS运算符采用单个select语句并检查任何结果(因此您可以使用常量1而不是*或列名称,它更有效)



1> Steven A. Lo..:

试试这种方式

IF 
    NOT EXISTS (SELECT 1 FROM Users where userID = 1)  
AND 
    NOT EXISTS (SELECT 1 FROM sales WHERE saleID = 1)
BEGIN 
       -- blah blah blah
END

或者,如果你坚持分离:

IF NOT (
    EXISTS (SELECT 1 FROM Users where userID = 1)  
    OR 
    EXISTS (SELECT 1 FROM sales WHERE saleID = 1)
)
BEGIN 
    -- blah blah blah
END

EXISTS运算符采用单个select语句并检查任何结果(因此您可以使用常量1而不是*或列名称,它更有效)

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有