繁体   English   中英

SQL-将存储过程的多个记录集获取到临时表变量

[英]SQL - Get stored procedure multiple record sets to temp table variable

是否可以将存储过程的多个结果集设置为临时表变量?

我写了一个存储过程,

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个记录集设置为2个临时表变量。

我怎样才能做到这一点?

我不认为存储过程可以像您希望的那样返回多个结果集。 我可能建议的是让存储的proc将结果存储在两个全局临时表中,然后让调用过程(无论调用存储的proc如何)查询两个全局临时表并将结果放入您的临时表变量中。

我知道这是一个老问题,也许我会误解您想要的内容,但是如果您只想将这两个记录集放入临时表中,则不能这样做:

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,可能无法从sp外部访问#temp表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM