將 Exec 結果指派給 SQL 變數
問題:
如何將 exec 呼叫的結果指派給 SQL 中的變數?例如,如果您有一個名為up_GetBusinessDay 的預存程序傳回單一日期,您可以使用以下語句指派結果嗎:
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
答案:
利用輸出參數是首選方法,而不是將結果直接分配給變數。以下是建立帶有輸出參數的預存程序的範例:
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
呼叫此預存程序並使用輸出參數:
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
以上是如何將 EXEC 呼叫的結果指派給 SQL 變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!