程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 如何在預存程序中調用另外一個預存程序

如何在預存程序中調用另外一個預存程序

編輯:關於SqlServer

要在一個預存程序中調用另外一個預存程序,可以使用下列兩種方式之一進行調用:

EXECUTE <欲執行之預存程序的名稱>

—或—

EXEC <欲執行之預存程序的名稱>

若被調用的欲執行之預存程序的名稱擁有傳回值,且您需要接收該傳回值,則在執行該欲執行之預存程序的時候,必須使用 OUTPUT 關鍵詞來讓被調用的預存程序可以接收回傳值。只是您必須先在被調用的預存程序中,利用 OUTPUT 關鍵詞來加以建立並指定要回傳的數值之數據型別。如下所示即是一例:

CREATE PROCEDURE #歡迎 @strInput NVARCHAR(50) OUTPUT
AS
 BEGIN
  SET @strInput = @strInput + '歡迎來到:台北面攤—章立民研究室';
 END;
GO
CREATE PROCEDURE #您好
AS
 BEGIN
  DECLARE @strHi NVARCHAR(50);
  SET @strHi = '嗨!您好!';
  EXECUTE #歡迎 @strHi OUTPUT;
  PRINT @strHi;
 END
GO

-- 現在要測試「#您好」這個預存程序是不是可以正確被執行

-- 我們使用三種方式進行測試

PRINT '使用 EXECUTE 陳述式來測試';
EXECUTE #您好;
PRINT '';
GO

PRINT '使用 EXEC 陳述式來測試';
EXEC #您好;
PRINT '';
GO

PRINT '直接使用 Stored Procedure 名稱來測試看看';
GO
#您好;
GO

請注意:

這個范例所建立的預存程序是暫時性的,當您所使用的聯機與 SQL Server 執行個體中斷之後,這些預存程序就會自動被移除。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved