我有动态查询@strQuery,执行时会给出很多列的结果。我认为动态查询查询的结果插入临时表。我这样做是因为我想过滤临时表并得到所需的结果。 0 E7 ?3 E% i8 E: a在此线程中创建临时表,然后使用插入数据INSERT INTO。 $ D, u% t# v% ^: n' S E# I8 N由于列表太长,我想避免这一步,我不知道字段的数据类型。 / H# \0 y$ h6 D+ }select * into #tmh fromexec(@strQuery)错误信息 , b; _/ A, g% g( Y4 `, L关键字“ exec附近的语法不正确。 & n/ q9 z% S( }* A, {- E4 Z& U这个怎么办 ?这样能完成吗?如果没有,请指定其他替代方法,将动态查询结果存储在表中。谢谢你。5 X& ^# H2 o+ o* d- y
# f' E Q7 N. r* O( X. u解决方案: % f1 `8 ?5 j* k8 C0 g6 Z6 r
我以前遇到过这种情况,这是我所做的:! `# p4 @2 C9 f _
DECLARE @strQuery nVarchar(100)SET @strQuery='SELECT * into [tempdb].[dbo].[temptable] FROM YourTable'EXECUTE sp_executesql @strQuerySELECT * FROM [tempdb].[dbo].[temptable]DROP TABLE [tempdb].[dbo].[temptable]它工作正常。别问我为什么要用它。FQ表名而不是#temptable。我不知道。没用。正常工作的唯一方法就是用它[tempdb]。[dbo]。[temptable]