2011-07-01 7 views
2

私は現在、入力変数が一定の範囲内にあることをチェックするコードのこのスニペットを持っている:パラメータ:IF/OR/RAISERROR構文エラー

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

ですストアドプロシージャ内にあるT-SQLコード。エラーメッセージは、ストアドプロシージャに "コンパイル" に、このです:メッセージ102、レベル15、状態1、サーバー

* から、手順NP* ** * *、行19
')'の近くに構文が正しくありません。

括弧を削除したり、OR文を取り出したり、特定の行の後にセミコロンを置いたりするなど、すべての構文を変更しようとしました。違いはないようです。任意の構文エラー。

答えて

3

RAISERROR機能の重大度と状態はオプションではありません。 documentationを確認し、どの値が最も適切かを判断してください。

+0

ありがとうございました!それはとても役に立ちます。 –

+0

将来的にこの問題を探している他の人がすぐに最高のものを特定できるように、有用な回答を投票してください(答えの横にある上矢印をクリックしてください)答え。 –

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

問題が解決しました。ありがとうございます。 –