是否可以将存储过程多个结果集获取到临时表变量?
我写了一个像
这样的存储过程Create proc test1
(
@param1 int,
@param2 int
)
as
Begin
Select Id, Name from Table1 where column1=@param1;
Select Id, Age, Address from Table2 where column1=@param2;
End
当我执行此sp时,它将返回2个表(记录集)。
现在,我希望将这两个记录集设置为2个临时表变量。
我怎样才能实现这个目标?
答案 0 :(得分:1)
我不相信存储过程可以像您希望的那样返回多个结果集。我可能建议让存储过程将结果存储在两个全局临时表中,然后让调用进程(无论调用存储过程)查询两个全局临时表并将结果放入临时表变量。
答案 1 :(得分:0)
我知道这是一个老问题,也许我误解了你想要的东西,但是如果你只是想把这两个记录集放到临时表中,你不能这样做:
Create proc test1
(
@param1 int,
@param2 int
)
as
Begin
Select Id, Name
into #temp1
from Table1 where column1=@param1;
Select Id, Age, Address
into #temp2
from Table2 where column1=@param2;
End
现在,我不知道你要用这个来实现什么,但是根据你如何调用sp,#temp表可能无法从sp外部访问。