我们可以在选择或更新查询之外使用CASE语句吗?输入参数的CASE语句

Ana*_*pta 2 sql t-sql sql-server sql-server-2008

我想使用CASE语句,例如下面的代码或实现上述方案的任何其他建议。

我将在某些SP中使用此where @UpdateStatus参数,并将其作为输入参数。

请提出建议。

DECLARE @UpdateStatus nvarchar(20)
SET @UpdateStatus='P'
 CASE 
    WHEN @UpdateStatus='P' THEN
     BEGIN
        BEGIN TRAN
            Print 'A' --Update some table
        COMMIT
     END
    WHEN @UpdateStatus='F' THEN 
     BEGIN
        BEGIN TRAN
            Print 'B' --Update some table
        COMMIT
     END
 END
Run Code Online (Sandbox Code Playgroud)

Hav*_*ame 5

使用IF Else语句处理不同的值

DECLARE @UpdateStatus nvarchar(20)
SET @UpdateStatus='P'
 IF @UpdateStatus='P'
     BEGIN
        BEGIN TRAN
            Print 'A' --Update some table
        COMMIT
     END
 ELSE IF @UpdateStatus='F'
     BEGIN
        BEGIN TRAN
            Print 'B' --Update some table
        COMMIT
     END
Run Code Online (Sandbox Code Playgroud)