首页 > 数据库 > mysql教程 > 如何在SQL中将存储过程结果插入到临时表中?

如何在SQL中将存储过程结果插入到临时表中?

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

How to Insert Stored Procedure Results into a Temporary Table in SQL?

>将存储过程插入SQL

的临时表中

> sql's INTO子句很容易将表数据插入临时表中。 但是,使用EXEC的存储过程直接插入结果通常会导致语法错误。 解决方案?采用OPENROWSET函数。

这是实现这一目标的方法:

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

-- Enable Ad Hoc Distributed Queries (required for OPENROWSET)
sp_configure 'Show Advanced Options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO

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

SELECT * FROM #MyTempTable;
登录后复制

> OPENROWSET提供了解决方法,可以访问存储过程数据,而无需明确定义临时表的列。这简化了存储,随后处理或分析存储过程输出。 请注意,启用“临时分布式查询”是此方法正确功能的先决条件。

以上是如何在SQL中将存储过程结果插入到临时表中?的详细内容。更多信息请关注PHP中文网其他相关文章!

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