sql-server - Transact-SQL (SQL Server 2008) 中的参数检查 : IF/OR/raiserror syntax error

标签 sql-server t-sql if-statement

我目前有这段代码,用于检查输入变量是否在特定范围内:

IF (@vThingID < 17 OR @vThingID > 16381)
BEGIN
    raiserror('Thing ID out of range: must be between 17 and 16381')
    RETURN
END

这是存储过程内的 T-SQL 代码。 “编译”到存储过程时的错误消息是这样的:

Msg 102, Level 15, State 1, Server *-, Procedure np*****, Line 19
Incorrect syntax near ')'.

我尝试更改所有语法 - 删除括号、取出 OR 语句、在某些行后面添加分号等。它似乎没有任何区别,而且我无法发现任何语法错误在这里。

最佳答案

RAISERROR 函数的严重性和状态不是可选的。检查documentation并确定哪些值(value)观对您最有意义。

关于sql-server - Transact-SQL (SQL Server 2008) 中的参数检查 : IF/OR/raiserror syntax error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551505/

相关文章:

SQL Server 2008 复杂查询和表连接

sql-server - 在大型数据库中搜索特定 ID?

SQL Server 首先选择

c# - 使用 LIST INSERT 到存储过程

sql - MSDB.dbo.sysmail_faileditems 中没有行

sql - SQL Server 中符号 @@ 的含义

sql-server - 删除触发器不起作用

Javascript 逻辑运算符困惑

php - 有没有办法仅当变量满足特定条件时才在 php 中重定向?

java - 如何处理大量 if 语句