>将存储过程插入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中文网其他相关文章!