(T)SQL case语句(不是表达式)

时间:2017-07-24 07:49:26

标签: sql sql-server tsql switch-statement case

是否有其他方法可以根据条件执行多个语句: 如果(expr1)然后选择其他if(expr2)然后选择

......如果不限于表达式,那么案例就可以很好地服务于此目的。 我正在使用sql server

直到现在的代码:

if(@code=57) begin (lots of complex statements) end
if(@code=58) begin (lots of other complex statements) end
if(@code=59) begin (lots of other complex statements) end
if(@code=60) begin (lots of other complex statements) end

我不能使用案例,因为它是一个表达式并且它返回值,它不能运行语句。

1 个答案:

答案 0 :(得分:0)

IF是一个过程语句,也就是说它在多语句批处理或过程中引导语句流。 CASE不能这样做。虽然它可能看起来像一个程序性陈述,但CASE实际上是一个功能;它根据输入返回不同的值。 CASE不会重定向程序流的控制。 CASE可以调用子查询;从性能角度来看,这可能是不明智的,但即便如此,子查询也只能返回一个值。