Select * 从 execute(@query) 进入#table
Select * into #table from execute(@query)
我创建了一个动态查询,其中 returns 来自 table 的列数为:
set @query = 'select '+@cols+' from [Sample] '
现在我想通过执行这个查询来填充临时 table,当我尝试这个
select * into #table from execute(@query).
我收到以下错误:
Incorrect syntax near the keyword 'execute'
和
Incorrect syntax near ')'
但是 运行 这个命令 returns 结果准确: execute(@query)
注意:我试过 sql-azure 不支持的 OPENROWSET。
如果有任何其他解决方法,请提供帮助。
尝试使用 FQ table 名称而不是#temptable:
IF object_id('tempdb..temptable') IS NOT NULL DROP TABLE [tempdb].[dbo].[temptable]
DECLARE @query varchar(4000)
SET @query = 'select '+ @cols +' into [tempdb].[dbo].[temptable] from [Sample]'
EXECUTE (@query)
SELECT * from [tempdb].[dbo].[temptable]
结果请见SQLFiddle
我创建了一个动态查询,其中 returns 来自 table 的列数为:
set @query = 'select '+@cols+' from [Sample] '
现在我想通过执行这个查询来填充临时 table,当我尝试这个
select * into #table from execute(@query).
我收到以下错误:
Incorrect syntax near the keyword 'execute'
和
Incorrect syntax near ')'
但是 运行 这个命令 returns 结果准确: execute(@query)
注意:我试过 sql-azure 不支持的 OPENROWSET。
如果有任何其他解决方法,请提供帮助。
尝试使用 FQ table 名称而不是#temptable:
IF object_id('tempdb..temptable') IS NOT NULL DROP TABLE [tempdb].[dbo].[temptable]
DECLARE @query varchar(4000)
SET @query = 'select '+ @cols +' into [tempdb].[dbo].[temptable] from [Sample]'
EXECUTE (@query)
SELECT * from [tempdb].[dbo].[temptable]
结果请见SQLFiddle