本指南演示了一种使用 OPENROWSET
函数用存储过程的输出填充临时表的简化方法。这种方法消除了在临时表中手动定义列的需要。
以下是分步演练:
启用即席分布式查询:在使用OPENROWSET
之前,您必须启用即席分布式查询。 执行这些 SQL 命令:
<code class="language-sql"> sp_configure 'Show Advanced Options', 1; GO RECONFIGURE; GO sp_configure 'Ad Hoc Distributed Queries', 1; GO RECONFIGURE; GO</code>
创建存储过程: 创建存储过程(本例中为 getBusinessLineHistory
):
<code class="language-sql"> CREATE PROC getBusinessLineHistory AS BEGIN SELECT * FROM sys.databases; END; GO</code>
通过 OPENROWSET 插入数据: 使用 OPENROWSET
将存储过程的结果插入临时表 (#MyTempTable
):
<code class="language-sql"> SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;', 'EXEC getBusinessLineHistory');</code>
检索数据:使用标准SELECT
语句访问临时表中的数据:
<code class="language-sql"> SELECT * FROM #MyTempTable;</code>
这个OPENROWSET
方法提供了一个干净高效的解决方案,用于将存储过程结果集成到临时表中,简化了流程并增强了灵活性。 请注意,应调整 OPENROWSET
命令中的服务器和连接详细信息以匹配您的特定环境。
以上是如何有效地将存储过程结果插入临时表中?的详细内容。更多信息请关注PHP中文网其他相关文章!