sql – 将执行动态查询的结果插入表中
发布时间:2020-12-12 06:59:12 所属栏目:MsSql教程 来源:网络整理
导读:我有一个动态查询@strQuery,在执行时会给出一个包含大量列的结果. 我想将此动态查询的结果插入临时表. 我这样做是因为我想对临时表执行一些过滤并获得所需的结果. 在之前的主题HERE上提出了类似的问题 首先创建临时表,然后使用INSERT INTO插入数据. 我想避免
我有一个动态查询@strQuery,在执行时会给出一个包含大量列的结果.
我想将此动态查询的结果插入临时表. 我这样做是因为我想对临时表执行一些过滤并获得所需的结果. 在之前的主题HERE上提出了类似的问题 我想避免这一步,因为列列表很长,而且我不知道字段的数据类型. select * into #tmh from exec(@strQuery) 错误信息 关键字’exec’附近的语法不正确. 这该怎么做 ?有可能以这种方式完成吗?如果没有,请指定一些其他替代方法,以便将执行动态查询的结果存储到表中. 解决方法我之前遇到过这种情况,这就是我所做的:DECLARE @strQuery nVarchar(100) SET @strQuery='SELECT * into [tempdb].[dbo].[temptable] FROM YourTable' EXECUTE sp_executesql @strQuery SELECT * FROM [tempdb].[dbo].[temptable] DROP TABLE [tempdb].[dbo].[temptable] 它工作正常.不要问我为什么是FQ表名而不是#temptable.我不知道.这是行不通的.我能让它工作的唯一方法是使用[tempdb].[dbo].[temptable] 拉吉 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |