我是 SQL 新手,我需要@User1在存盤程序中呼叫一個引數來僅接受 3 個單詞,例如('max'、'low'、'high'),否則應該是一個錯誤。
我嘗試輸入它,但它不起作用我的意思是它接受任何資料字串值,我只需要 3 個字:
IF @User1 <> 'max' OR @User1 <> 'low' OR @User1 <> 'high'
BEGIN
SET @ErrorNumber = 3
RETURN 0
END
uj5u.com熱心網友回復:
你需要一個AND而不是OR你的條件之間的一個。從 OP 的最后評論中,也使它不區分大小寫:
IF LOWER(@User1) <> 'max' and LOWER(@User1) <> 'low' and LOWER(@User1) <>'high'
BEGIN
SET @ErrorNumber = 3
RETURN 0
END
或者干脆
IF LOWER(@User1) NOT IN ('max', 'low', 'high')
BEGIN
SET @ErrorNumber = 3
RETURN 0
END
uj5u.com熱心網友回復:
我認為您正在嘗試創建一個接受一個引數的存盤程序,并且您想檢查該引數是否在 [max, low, high] 中。
檢查這個
CREATE PROCEDURE UserSize @User1 nvarchar(30)
AS
BEGIN
IF @User1<>'max' or @User1<>'low' or @User1<>'high'
BEGIN
THROW 51000, 'The record does not exist.', 1;
END
//do something here
END
GO;
這對你有用嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/430073.html
