使用輸出參數將 Exec 結果指派給 SQL 變數
在 SQL 中,exec 指令通常用於執行預存程序和函數。雖然您無法使用您建議的表達式(“exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1”)直接將 exec 呼叫的結果指派給變量,但還有其他方法可以實現此功能。
一種首選方法涉及使用輸出參數。輸出參數可讓您將變數作為輸入傳遞,而且還可以使用從預存程序或函數傳回的值來更新它。操作方法如下:
建立帶有輸出參數的預存程序:
CREATE PROCEDURE YourStoredProcedure( @Param1 int, @Param2 varchar(5), @Param3 datetime OUTPUT ) AS IF ISNULL(@Param1, 0) > 5 BEGIN SET @Param3 = GETDATE() END ELSE BEGIN SET @Param3 = '1/1/2010' END RETURN 0 GO
在此範例中,@Param3 參數被宣告為輸出範圍。它將使用預存程序傳回的值進行更新。
使用輸出參數呼叫預存程序:
DECLARE @OutputParameter datetime ,@ReturnValue int EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT PRINT @ReturnValue PRINT CONVERT(char(23), @OutputParameter, 121)
在此範例中,@OutputParameter變數被宣告並作為輸出參數傳遞給預存程序。 exec 呼叫後,@OutputParameter 變數將包含預存程序傳回的結果,然後將其列印到控制台。
輸出:
0 2010-01-01 00:00:00.000
使用輸出參數提供了一種在SQL 中的預存程序和客戶端應用程式之間傳遞值的強大而有效的方法。
以上是如何將 SQL `exec` 指令的結果指派給變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!