使用 SQL Server 2005,我想运行一个存储过程并将所有结果插入到一个新表中。
我希望新表能够根据存储过程返回的数据自动配置其列。
我熟悉使用 SELECT ... INTO
语法:
SELECT * INTO newtable FROM oldtable
这可能吗?
编辑澄清:我希望完成类似的事情:
Select * INTO newtable FROM exec My_SP
最佳答案
执行此操作的唯一方法是针对本地服务器使用 OPENROWSET:
SELECT * INTO #temp
FROM OPENROWSET (
'SQLOLEDB'
, 'Server=(local);TRUSTED_CONNECTION=YES;'
, 'SET FMTONLY OFF EXEC database.schema.procname'
) a
但这是一种最后一搏,必须做该死的后果的方法。它需要提升权限,不适用于所有过程,而且通常效率低下。
更多信息和一些替代方案在这里:http://www.sommarskog.se/share_data.html
关于SQL - 如何将 Stored_Proc 的结果插入到新表中而不指定新表的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2249166/