在 SQL 中,經常需要將 exec 呼叫的結果指派給變數。雖然提供的語法可能看起來很直觀,但這不是推薦的方法。
不要直接將執行結果分配給變量,請考慮以下替代方法:
輸出參數允許您將值從預存程序傳回呼叫語句。在預存程序中,您定義輸出參數並為其指派一個值。在呼叫語句中,使用 OUTPUT 關鍵字將輸出參數指定為輸出參數。
預存程序的回傳值可用來指示預存程序的成功或失敗操作。您可以使用返回值在呼叫語句中設定變數。
以下是使用輸出參數來實現所需功能的範例:
存儲過程:
CREATE PROCEDURE YourStoredProcedure ( @Param1 int, @Param2 varchar(5), @Param3 datetime OUTPUT ) AS IF @Param1 > 5 BEGIN SET @Param3 = GETDATE() END ELSE BEGIN SET @Param3 = '1/1/2010' END RETURN 0 GO
調用語句:
DECLARE @OutputParameter datetime ,@ReturnValue int EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT PRINT @ReturnValue PRINT CONVERT(char(23), @OutputParameter, 121)
輸出:
0 2010-01-01 00:00:00.000
以上是如何最好地將 SQL'EXEC”呼叫的結果指派給變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!