-1

我在这里做错了什么?

CASE WHEN @Activity = 'XXXX' THEN
     SET @AccrualBase = @PrevAccrualBase
     SET @AccrualDate = @PrevAccrualDate
     SET @All_In_Rate = @PrevAll_In_Rate
     SET @AmtOut = @PrevAmtOut
END

我尝试在 BEGIN END 中包含 4 个 set 语句,但没有运气。请给个建议

4

2 回答 2

3

Case 是一个内联 sql 语句,所以对你正在做的事情有点痛苦。可能更好只是使用IF

IF @Activity = 'XXXX' 
BEGIN

     SET @AccrualBase = @PrevAccrualBase
     SET @AccrualDate = @PrevAccrualDate
     SET @All_In_Rate = @PrevAll_In_Rate
     SET @AmtOut = @PrevAmtOut

END
于 2013-09-17T16:19:21.437 回答
2

我认为您正在寻找 IF 声明:

IF @Activity = 'XXXX'
BEGIN
     SET @AccrualBase = @PrevAccrualBase
     SET @AccrualDate = @PrevAccrualDate
     SET @All_In_Rate = @PrevAll_In_Rate
     SET @AmtOut = @PrevAmtOut
END
于 2013-09-17T16:19:25.323 回答