SQL SERVER存储过程调用存储过程并接收输出参数或返回值的方法

一个带输出参数的存储过程的例子:

ALTER PROCEDURE [dbo].[GetCustomers]
(@rowcount INT
OUTPUT)
AS
    SELECT [CustomerID]
      ,[CompanyName]
      ,[ContactName]
      ,[ContactTitle]
      ,[Address]
      ,[City]
      ,[Region]
      ,[PostalCode]
      ,[Country]
      ,[Phone]
      ,[Fax]
  FROM [Northwind].[dbo].[Customers]
SET @rowcount=@@rowcount

 

再给一个有返回值的存储过程       

ALTER PROCEDURE [dbo].[GetCustomers]
AS
    SELECT [CustomerID]
      ,[CompanyName]
      ,[ContactName]
      ,[ContactTitle]
      ,[Address]
      ,[City]
      ,[Region]
      ,[PostalCode]
      ,[Country]
      ,[Phone]
      ,[Fax]
  FROM [Northwind].[dbo].[Customers]
RETURN @@rowcount

那么,如何在别的存储过程中调用该存储过程,并且接收它的输出参数或者返回值参数呢

下面是接收输出参数的示例

DECLARE @count INT
EXECUTE GetCustomers  @count OUTPUT
PRINT @count

下面是接收返回值参数的示例

DECLARE @count INT
EXECUTE @count=GetCustomers
PRINT @count

原文地址:https://www.cnblogs.com/danyingjie/p/1964449.html