要在一個 Stored Procedure 中,再去呼叫另外一個 Stored Procedure,要使用下列兩種呼叫方式之一:
EXECUTE <欲執行的 Stored Procedure 名稱>
—或—
EXEC <欲執行的 Stored Procedure 名稱>
若被呼叫的那個 Stored Procedure 有傳回值,且需要接收該回傳值的話,可以在執行該 Stored Procedure 時,使用 OUTPUT 關鍵字來讓被呼叫的 Stored Procedure 傳回值。只是您必須先在被呼叫的 Stored Procedure 中,利用 OUTPUT 關鍵字來加以建立並指定要回傳的數值之資料型別。如下所示即是一例:
CREATE PROCEDURE #歡迎@strInput NVARCHAR(50) OUTPUT
AS
BEGIN
SET @strInput = @strInput + '歡迎來到 我亦非我—愛力克斯的賣寇蒐福特Blog';
END
GO
CREATE PROCEDURE #您好
AS
BEGIN
DECLARE @strHi NVARCHAR(50);
SET @strHi = '嗨!您好!';
EXECUTE #歡迎 @strHi OUTPUT;
PRINT @strHi;
END
GO
-- 使用 EXECUTE 陳述式來測試看看
EXECUTE #您好;
GO
-- 直接使用 Stored Procedure 名稱來測試看看
#您好;
GO
請注意:
這個範例所建立的 Stored Procedure 是暫時性的,當您所使用的連線與 SQL Server 執行個體中斷之後,這些 Stored Procedure 就會被自動刪除。
沒有留言:
張貼留言