將查詢結果指派給 SQL 變數
使用提供的語法無法將 exec 呼叫的結果指派給 SQL 中的變數。但是,還有其他方法可以從預存程序中檢索資料或執行查詢。
輸出參數
如果您需要從預存程序中擷取單一值,則可以使用輸出參數。輸出參數是傳遞給預存程序並在過程中修改的變數。然後,修改後的值將傳回給呼叫程式碼。
範例:
考慮以下預存程序,它採用兩個參數並將DATE 值指派給輸出參數:
CREATE PROCEDURE up_GetBusinessDay ( @Date Date, @Offset Int, @NextBusinessDay Date OUTPUT ) AS BEGIN -- Code to calculate the NextBusinessDay SET @NextBusinessDay = '2023-03-15' END GO
您可以從程式碼中呼叫此預存程序並指定輸出參數變數:
DECLARE @NextBusinessDay DATE; EXEC up_GetBusinessDay @Date = '2023-03-08', @Offset = -1, @NextBusinessDay OUTPUT; SELECT @NextBusinessDay;
這會將在預存程序中計算的DATE數值返回 @NextBusinessDay 變數。
傳回值
另一個選項是使用回傳值來指示預存程序或查詢的成功或失敗。傳回值是傳回給呼叫程式碼的單一整數值。
範例:
如果輸入值,以下預存程序將傳回值1大於5,否則回傳0:
CREATE PROCEDURE YourProcedure ( @Param Int ) AS BEGIN IF @Param > 5 RETURN 1; ELSE RETURN 0; END GO
您可以使用錯誤處理在程式碼中處理返回值機制。
以上是如何將 SQL 查詢結果指派給變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!