如果不满足条件,我需要显示错误。 @variable1
和@variable2
都只占用少量值。
这是我的代码:
ALTER PROC Test
(@Variable1 AS INT,
@Variable2 AS CHAR(2))
AS
DECLARE @err_message nvarchar(max)
IF @Variable1 <> 1 OR @Variable1 <> 2 OR @Variable1 <> 3
SET @err_message = 'Not available'
BEGIN
RAISEERROR (@err_message,16,1)
END
IF @Variable2 <> 'IT'
SET @err_message = 'Not IT'
BEGIN
RAISEERROR (@err_message,16,1)
END
RUN PROCEDURE
我收到了RAISEERROR
语法不正确。期待谈话
并使用第二个IF
语句。
答案 0 :(得分:1)
使用NOT IN
更简单正确:
IF @Variable1 NOT IN (1, 2, 3)
BEGIN
SET @err_message = 'Not available'
RAISERROR(@err_message, 16, 1)
END;
IF @Variable2 <> 'IT'
BEGIN
SET @err_message = 'Not IT'
RAISERROR(@err_message, 16, 1)
END;
您的第一个条件总会产生错误。