首頁 > 資料庫 > mysql教程 > 如何將 SQL `exec` 指令的結果指派給變數?

如何將 SQL `exec` 指令的結果指派給變數?

Mary-Kate Olsen
發布: 2025-01-05 05:15:46
原創
959 人瀏覽過

How Can I Assign the Results of an SQL `exec` Command to a Variable?

使用輸出參數將 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板