我正在尝试从另一个sproc中调用sproc并将结果放在临时表中而不先创建临时表。有可能做到这一点,还是有更好的方法?我想使用sprocB或functionB,其结果集有多列和多行。 THX。
sproc A
..
begin
-- create table #tmp.... -- Try not to create the #tmp table first if possible
exec sproc_B ... put results from sproc_B in #tmp
end
sproc B
..
@id int
..
begin
select table from aTable where id = @id
end
提出了类似的问题here。
答案 0 :(得分:4)
create table #tmp....
insert #tmp
exec sproc_B
答案 1 :(得分:2)
CREATE TABLE #tmpTable
(
COL1 INT,
COL2 INT
)
INSERT INTO #tmpTable
Exec spGetResultset 'Params'
答案 2 :(得分:1)
是的,但您必须在使用之前创建表。语法为:
INSERT INTO YourTable EXEC YourProc
无需说,该表的结构应与SP的输出相匹配吗?