首页 > 数据库 > mysql教程 > 如何使用OpenRowset插入存储过程结果?

如何使用OpenRowset插入存储过程结果?

DDD
发布: 2025-01-25 02:46:09
原创
283 人浏览过

How to Insert Stored Procedure Results into a Temporary Table Using OPENROWSET?

利用OPENROWSET将存储过程结果插入临时表

直接使用SELECT * INTO语句将存储过程的结果插入临时表可能会因为语法错误而失败。 解决方法是使用OPENROWSET方法。

首先,需要启用Ad Hoc Distributed Queries:

sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO
登录后复制

启用后,可以使用以下代码将存储过程的结果插入临时表,无需预先定义表结构:

CREATE PROC getBusinessLineHistory
AS
BEGIN
    SELECT * FROM sys.databases
END
GO

SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;',
     'EXEC getBusinessLineHistory')

SELECT * FROM #MyTempTable
登录后复制

此示例中,存储过程getBusinessLineHistory返回sys.databases表的数据。 通过OPENROWSET,可以将存储过程的结果有效地插入到临时表#MyTempTable中。

以上是如何使用OpenRowset插入存储过程结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板