SQL Server 2005 - 如何在預(yù)存程序中調(diào)用另外一個(gè)預(yù)存程序
要在一個(gè)預(yù)存程序中調(diào)用另外一個(gè)預(yù)存程序,可以使用下列兩種方式之一進(jìn)行調(diào)用:;
EXECUTE <欲執(zhí)行之預(yù)存程序的名稱>;
—或—;
EXEC <欲執(zhí)行之預(yù)存程序的名稱>;
若被調(diào)用的欲執(zhí)行之預(yù)存程序的名稱擁有傳回值,且您需要接收該傳回值,則在執(zhí)行該欲執(zhí)行之預(yù)存程序的時(shí)候,必須使用 OUTPUT 關(guān)鍵詞來讓被調(diào)用的預(yù)存程序可以接收回傳值。只是您必須先在被調(diào)用的預(yù)存程序中,利用; OUTPUT 關(guān)鍵詞來加以建立并指定要回傳的數(shù)值之?dāng)?shù)據(jù)型別。如下所示即是一例:;
CREATE PROCEDURE #歡迎 @strInput NVARCHAR(50) OUTPUTAS BEGIN SET @strInput = @strInput + '歡迎來到:臺(tái)北面攤—章立民研究室'; END;GO
CREATE PROCEDURE #您好AS BEGIN DECLARE @strHi NVARCHAR(50); SET @strHi = '嗨!您好!'; EXECUTE #歡迎 @strHi OUTPUT; PRINT @strHi; ENDGO
-- 現(xiàn)在要測(cè)試「#您好」這個(gè)預(yù)存程序是不是可以正確被執(zhí)行-- 我們使用三種方式進(jìn)行測(cè)試PRINT '使用 EXECUTE 陳述式來測(cè)試';EXECUTE #您好;PRINT '';GO
PRINT '使用 EXEC 陳述式來測(cè)試';EXEC #您好;PRINT '';GO
PRINT '直接使用 Stored Procedure 名稱來測(cè)試看看';GO#您好;GO
請(qǐng)注意:這個(gè)范例所建立的預(yù)存程序是暫時(shí)性的,當(dāng)您所使用的聯(lián)機(jī)與 SQL Server 執(zhí)行個(gè)體中斷之后,這些預(yù)存程序就會(huì)自動(dòng)被移除。http://www.cnblogs.com/liminzhang/archive/2006/10/17/531132.html
