我正在使用Sql server 2008
我在T-SQL
中寻找这样的空闲语句SELECT CASE @H_CNT
WHEN 2 THEN
@H_VAR_1 = @H_VALUE_1
WHEN 3 THEN
@H_VAR_2 = @H_VALUE_2
END
但上述陈述未被接受并显示错误。
这里有什么问题
答案 0 :(得分:1)
SELECT @H_VAR_1 = CASE WHEN @H_CNT = 2 THEN @H_VALUE_1 ELSE @H_VAR_1 END,
@H_VAR_2 = CASE WHEN @H_CNT = 3 THEN @H_VALUE_2 ELSE @H_VAR_2 END
答案 1 :(得分:0)
问题是您无法在CASE
声明中进行分配。您可以从结果分配CASE
语句:
SELECT @H_VAR_1 = CASE @H_CNT WHEN 2 THEN @H_VALUE_1 ELSE @H_VAR_1 END,
@H_VAR_2 = CASE @H_CNT WHEN 3 THEN @H_VALUE_2 ELSE @H_VAR_2 END