回答

收藏

将执行动态查询结果插入表中

技术问答 技术问答 237 人阅读 | 0 人回复 | 2023-09-14

我有动态查询@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]
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则