Sql server Transact-SQL(SQL Server 2008)中的参数检查:IF/OR/raiserror语法错误

Sql server Transact-SQL(SQL Server 2008)中的参数检查:IF/OR/raiserror语法错误,sql-server,tsql,if-statement,Sql Server,Tsql,If Statement,我目前有一段代码,用于检查输入变量是否在某个范围内: IF (@vThingID < 17 OR @vThingID > 16381) BEGIN raiserror('Thing ID out of range: must be between 17 and 16381') RETURN END IF(@vThingID16381) 开始 raiserror('对象ID超出范围:必须介于17和16381'之间) 返回 结束 这是存储过程中的T-SQL代码。“编译

我目前有一段代码,用于检查输入变量是否在某个范围内:

IF (@vThingID < 17 OR @vThingID > 16381)
BEGIN
    raiserror('Thing ID out of range: must be between 17 and 16381')
    RETURN
END
IF(@vThingID<17或@vThingID>16381)
开始
raiserror('对象ID超出范围:必须介于17和16381'之间)
返回
结束
这是存储过程中的T-SQL代码。“编译”到存储过程时的错误消息如下:

Msg 102,第15级,状态1,服务器*-,程序np****,第19行
“')附近的语法不正确


我尝试过更改所有语法—删除括号、删除OR语句、在某些行后加分号等等。这似乎没有任何区别,我在这里也看不到任何语法错误。

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

IF(@vThingID<17或@vThingID>16381)
IF (@vThingID < 17 OR @vThingID > 16381)
BEGIN
    raiserror('Thing ID out of range: must be between 17 and 16381', 10, 11)
    RETURN
END
开始 raiserror('对象ID超出范围:必须介于17和16381',10和11之间) 返回 结束
确保向上投票选出有用的答案(单击答案旁边的向上箭头)并选择最佳答案(单击复选标记),以便将来搜索此问题的其他人可以快速确定最佳答案。