从存储过程(B)调用存储过程(A)并使用B中的结果集形式A.

时间:2014-08-20 13:58:34

标签: sql sql-server stored-procedures ssms-2012

在SQL server 2012中,我正在寻找一种从存储过程(B)调用存储过程(A)的方法。 SP A返回一个结果集,然后我将需要在SP B中使用。 这可能吗?

2 个答案:

答案 0 :(得分:2)

是的,也有多列:

create table tablea
(
     cola int,
     colb varchar(50) NULL
)

GO
insert into tablea(cola, colb) values (1, 'test')
GO

CREATE PROCEDURE sp_A
AS
BEGIN

   SELECT cola, colb from tablea
END
GO

CREATE PROCEDURE sp_B
AS
BEGIN

 Declare @TempTable Table (col1 int, col2 varchar(50) NULL)

 Insert @TempTable Exec sp_A

 SELECT * from @TempTable

END

GO

exec sp_B

答案 1 :(得分:1)

您可以创建临时表/表变量/实际表并将结果插入其中。

Insert Into MyTable
EXEC MySP