我目前有这段代码,用于检查输入变量是否在特定范围内:
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/