如果Else不在TSQL中工作

wal*_*ari 0 sql sql-server stored-procedures sql-server-2012

如果永远不会工作.总是陷入其他条件.我已调试并检查@nextapprover不为null.

IF (@nextApprover != NULL)
BEGIN
    UPDATE CallWatching
    SET EmployeeNo = @employeeNo
    WHERE @SRFID = MasterCode;

    INSERT INTO CallForwarding (
        MasterCode
        ,EmployeeNo
        ,ApproverNo
        ,IsForwarded
        ,ForwardBy
        )
    VALUES (
        @SRFID
        ,@EmployeeNo
        ,@nextApprover
        ,0
        ,@EmployeeNo
        )
END
ELSE
BEGIN
    UPDATE CallWatching
    SET STATUS = 1
    WHERE @SRFID = MasterCode;
END
Run Code Online (Sandbox Code Playgroud)

rjm*_*jmd 5

使用 IS NOT NULL

即改变:if(@nextApprover!=null) 到IF(@nextApprover IS NOT NULL)

此外,您应该<>而不是!=ANSI兼容