我试图在下面的 if else 语句中设置多个值,如果我设置一个值它可以工作,但如果我设置两个值,它就不起作用:
DECLARE @test1 varchar(60);
DECLARE @test2 varchar(60);
IF ((SELECT COUNT(*) FROM table WHERE table.Date > '2016-03-20') > 10)
SET @test1 = 'test1'
SET @test2 = 'test2'
ELSE
SET @test1 = 'testelse'
SET @test2 = 'testelse'
错误消息:“消息 156,级别 15,状态 1,第 9 行
关键字 ‘ELSE’ 附近的语法不正确。”
但是,似乎可以在 else 之后有多个 SET 变量;此代码有效:
IF ((SELECT COUNT(*) FROM table WHERE table.Date > '2016-03-20') > 10)
SET @test1 = 'test1'
ELSE
SET @test1 = 'testelse'
SET @test2 = 'testelse'
我怎样才能正确地做到这一点?
原文由 Mattias 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果 if 条件中有多个语句,则必须使用
BEGIN ... END
块来封装它们。