【发布时间】:2019-05-14 08:47:05
【问题描述】:
我有一个存储过程,它接受一个参数,将其传递给其中的存储过程。从这些存储过程输出的视图来看,结果集是一个临时表。存储过程运行良好,但我无法捕获其结果集:
use mydb
go
create procedure sp_myproc (@refdate date)
as
begin
declare @temptable table
(
field1 varchar(50),
field2 varchar(50),
field3 varchar(50),
field4 varchar(30),
field5 numeric(20, 0)
)
exec sp_firstsp @refdate
exec sp_secondsp @refdate
exec sp_thirdsp @refdate
exec sp_fourthsp @refdate
exec sp_fifthsp
insert into @temptable
select field1, field2, field3, field4, field5
from view_into_results_of_abovesps
-- return @temptable (error: Must declare the scalar variable "@temptable".)
end
go
我正在尝试以以下方式捕获结果集,但得到一个空表:
declare @temptable table
(
field1 varchar(50),
field2 varchar(50),
field3 varchar(50),
field4 varchar(30),
field5 numeric(20, 0)
)
insert into @temptable
execute sp_myproc '2017-01-13'
谢谢
【问题讨论】:
-
“结束”使用前:select * from @temptable
标签: sql-server stored-procedures