我们可以从存储过程结果动态创建一个临时表吗?
我不想手动声明临时表列。它从存储过程结果中获取表的模式。
使用以下语法模板根据结果集创建临时表。
Select * into #temptable from mytable
Select column1,column2,..columnn into #temptable from mytable
笔记:
该SELECT INTO
语句非常快,原因之一是:未记录该命令以进行备份。更准确地说,该命令可以在事务中,并且任何回滚命令都将正确撤消其影响。但是,新值不会永久存储在日志文件中,因此在此命令之后,您只能执行完整的数据库备份(增量备份引发错误)。这解释了为什么必须为非临时表显式启用此功能(临时表从不包含在备份中,因此在使用临时表之前不需要使用 sp_dboption 命令SELECT INTO
)。
使用行集函数之一:
SELECT *
INTO #Temp
FROM OPENQUERY(SERVERNAME, 'EXEC pr_StorProcName')