如何在UPDATE语句中使用IF类型结构?

竿

在T-SQL中CASE,执行a时可以使用语句SELECT来确定要返回的数据类型。我想做类似的事情,但不是在SELECT语句中,而是在UPDATE语句中。我不知道这是否是正确的格式,但希望您能从中得到启发。

这是我想做的事情:

CREATE PROCEDURE spSomePS
    @Number1 int,
    @Number2 int,
    @Amt money
AS
BEGIN
    UPATE SomeTable
    CASE @Number1 +1 = @Number2
         MoneyColumn = MoneyColumn - @Amt
    ELSE
         MoneyColumn = MoneyColumn + @Amt
    END -- end the CASE statement

那会不会是我正在尝试执行的操作,还是存在另一种语法?

哈姆雷特·哈科比(Hamlet Hakobyan)

您可以像在CASEinUPDATE语句中那样在inSELECT语句中使用表达式

CREATE PROCEDURE spSomePS
@Number1 int,
@Number2 int,
@Amt money
AS
BEGIN
UPATE SomeTable
SET MoneyColumn = 
  CASE WHEN @Number1 +1 = @Number2
       THEN MoneyColumn - @Amt
       ELSE MoneyColumn + @Amt
  END -- end the CASE statement

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章