我创建了一个动态查询,它返回表格中的列数:
set @query = 'select '+@cols+' from [Sample] '
现在我想通过执行此查询来填充临时表,当我尝试这个
时select * into #table from execute(@query).
我收到以下错误:
关键字'execute'
附近的语法不正确
和
')'
附近的语法不正确
但是,运行此命令会准确返回结果:execute(@query)
注意:我尝试过sql-azure不支持的OPENROWSET。
如果还有其他相关工作,请提供帮助。
答案 0 :(得分:1)
尝试使用FQ表名而不是#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]
中查看结果