Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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_Sql Server - Fatal编程技术网

SQL Server:将存储过程结果加载到表中

SQL Server:将存储过程结果加载到表中,sql,sql-server,Sql,Sql Server,我有一个存储过程,它返回多个resultsets,具体是三个resultset。我只需要第一个结果集。我从另一个过程调用原始过程,在这个过程中,我将把返回的结果集存储到一个表中,并在进一步处理时使用它。 另外,我不能修改原始存储过程来实现这一点。 请帮忙 我还没有对此进行测试,但解决方法是使用OpenQuery并使用它调用您的SP,因为。OPENROWSET也会做同样的事情…我还没有测试过这一点,但解决办法是使用OpenQuery并使用它调用您的SP,因为。OPENROWSET也将执行相同的操作

我有一个存储过程,它返回多个resultsets,具体是三个resultset。我只需要第一个结果集。我从另一个过程调用原始过程,在这个过程中,我将把返回的结果集存储到一个表中,并在进一步处理时使用它。 另外,我不能修改原始存储过程来实现这一点。
请帮忙

我还没有对此进行测试,但解决方法是使用OpenQuery并使用它调用您的SP,因为。OPENROWSET也会做同样的事情…

我还没有测试过这一点,但解决办法是使用OpenQuery并使用它调用您的SP,因为。OPENROWSET也将执行相同的操作…

无法从SQL中的存储过程中检索第二个或更多的结果集

两个变通办法:

一种计划作业,如C程序,它定期调用存储过程并将结果存储在其他过程可以使用的表中。 执行相同操作的存储过程。SQL CLR过程的优点是,您可以从普通SQL存储过程调用它,因此不必等待计划的任务。
无法从SQL内部的存储过程中检索第二个或更多结果集

两个变通办法:

一种计划作业,如C程序,它定期调用存储过程并将结果存储在其他过程可以使用的表中。 执行相同操作的存储过程。SQL CLR过程的优点是,您可以从普通SQL存储过程调用它,因此不必等待计划的任务。
或@gbn的可能重复:这些方法真的适用于多个结果集吗?这就是这里被问到的问题。@Jon Seigel:据我记忆所及,是的。只有第一个结果集将加载到临时表中though@gbn-from-如果execute_语句与INSERT一起使用,则每个结果集必须与表或列_列表中的列兼容。Dokay,我做了一些测试,但它并不像你期望的那样工作。SQL将尝试将所有选择的结果插入到目标表中,因此,如果表定义不兼容,a它将爆炸,或者b您将所有结果合并在一起,我怀疑这是不可取的@gbn或@gbn的可能重复:这些方法真的适用于多个结果集吗?这就是这里被问到的问题。@Jon Seigel:据我记忆所及,是的。只有第一个结果集将加载到临时表中though@gbn-from-如果execute_语句与INSERT一起使用,则每个结果集必须与表或列_列表中的列兼容。Dokay,我做了一些测试,但它并不像你期望的那样工作。SQL将尝试将所有选择的结果插入到目标表中,因此,如果表定义不兼容,a它将爆炸,或者b您将所有结果合并在一起,我怀疑这是不可取的@gbnI可以使用OpenRowSet,但我如何将参数从OpenRowSet“SQLOLEDB”传递到OpenRowSet SELECT*到Temp,即“Server=local”;受信任的_连接=是;','设置fmtonly off exec master.dbo.testproc、'param1'、'param2'这不起作用:我可以使用OpenRowSet,但如何将参数从OpenRowSet'SQLOLEDB'、'Server=local'传递到OpenRowSet SELECT*到Temp;受信任的_连接=是;','设置fmtonly off exec master.dbo.testproc、'param1'、'param2'这不起作用: