在T-SQL中,您可以在执行CASE
时使用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
那么我正在尝试做什么还是有其他语法?
答案 0 :(得分:6)
您可以在CASE
语句中使用UPDATE
表达式,如SELECT
语句中所示。
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