我試圖製作一個高效的SQL存儲過程來從我的數據庫中檢索用戶數據,但我遇到了一個我似乎無法弄清的語法問題。使用IF EXISTS檢查在SELECT語句中設置輸出參數
基本上,我想在我的SELECT語句中分配我的輸出變量。我也想通過IF EXISTS查看用戶是否真的存在。不幸的是,我似乎無法做到這一點。
這裏是我的方法:
CREATE PROCEDURE [dbo].FindUser(@UserID binary(16), @UserExists bit OUTPUT, @Name
nvarchar(MAX) OUTPUT)
AS
SET NOCOUNT ON
IF EXISTS (SELECT @Name = Name FROM Users WHERE UserID = @UserID)
BEGIN
SET @UserExists = 1
END
RETURN
目前,它給了我一個 「@Name近SQL46010 ::語法不正確。」錯誤。 如果我刪除IF EXISTS,語句編譯得很好!
爲什麼IF EXISTS檢查會導致語法錯誤?
謝謝!現在試試這個.. – Eaton
正是我需要的,謝謝你的回答! – Eaton