在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
那会不会是我正在尝试执行的操作,还是存在另一种语法?
您可以像在CASE
inUPDATE
语句中那样在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] 删除。
我来说两句