Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server,使用临时表传递存储过程结果_Sql Server_Stored Procedures - Fatal编程技术网

Sql server SQL Server,使用临时表传递存储过程结果

Sql server SQL Server,使用临时表传递存储过程结果,sql-server,stored-procedures,Sql Server,Stored Procedures,我正在编写一个存储过程,它使用temp table使用另一个存储过程的结果。内部存储过程usp_i位于数据库A中,外部存储过程usp_o位于数据库B中。所有数据库都位于同一台服务器上 在usp_i的末尾,我将其结果放入\tmpResult表中: use A go select * into #tmpResult from SomeTable 现在在callerusp\u o中,我有 use B go exec A.dbo.usp_i select * from #tmpResult sel

我正在编写一个存储过程,它使用temp table使用另一个存储过程的结果。内部存储过程
usp_i
位于数据库A中,外部存储过程
usp_o
位于数据库B中。所有数据库都位于同一台服务器上

usp_i
的末尾,我将其结果放入
\tmpResult
表中:

use A
go

select * into #tmpResult from SomeTable
现在在caller
usp\u o
中,我有

use B
go

exec A.dbo.usp_i
select * from #tmpResult
select * from tmpdb..#tmpResult
两方面我都犯了错误

无效的对象名称#tmpResult


如何获得临时表?

在外部进程中创建临时表,并将其插入内部进程中。

我认为您可以使用表:


在usp_o中预先创建临时表,在usp_i中插入行,您将能够在usp_o中访问

-- in usp_o
create table #tmpResult ( ... )

exec A.dbo.usp_i



-- in usp_i
insert into #tmpResult (  ... ) select ... from sometable

您是否正在尝试访问外部存储过程中内部存储过程返回的结果?或者您想在外部进程中使用内部进程中创建的临时表?@Murthy最终我想使用内部进程返回的结果。我认为最简单的方法是插入到。。。exec但是sql server有一些嵌套问题
-- in usp_o
create table #tmpResult ( ... )

exec A.dbo.usp_i



-- in usp_i
insert into #tmpResult (  ... ) select ... from sometable