2006年12月9日

如何在 Stored Procedure 中,再去呼叫另外一個 Stored Procedure

要在一個 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 就會被自動刪除。

沒有留言:

張貼留言