加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server – 在INSERT语句中使用WITH子句

发布时间:2020-12-12 16:30:03 所属栏目:MsSql教程 来源:网络整理
导读:我想知道这是否可能.我有一个现有的查询使用WITH子句将一些聚合数据应用于SELECT查询,如下所示:(大规模简化) ;WITH alias (y,z)AS( SELECT y,z FROM tableb)SELECT y,z FROM alias 我现在想把这个查询的结果插入另一个表. 我已经尝试过以下内容: INSERT INT
我想知道这是否可能.我有一个现有的查询使用WITH子句将一些聚合数据应用于SELECT查询,如下所示:(大规模简化)
;WITH alias (y,z)
AS
(
    SELECT y,z FROM tableb
)
SELECT y,z FROM alias

我现在想把这个查询的结果插入另一个表.

我已经尝试过以下内容:

INSERT INTO tablea(a,b)
;WITH alias (y,z FROM alias

但我收到错误:

Incorrect syntax near ‘;’.

所以我尝试没有分号,但得到错误:

Incorrect syntax near the keyword ‘WITH’.

Incorrect syntax near the keyword ‘with’. If this statement is a common table expression or an xmlnamespaces clause,the previous statement must be terminated with a semicolon.

我正在尝试用不同的语法来做到这一点吗?

解决方法

您将需要在CTE之后放置INSERT INTO.所以代码将是:
;WITH alias (y,z FROM tableb
)
INSERT INTO tablea(a,b)
SELECT y,z 
FROM alias

见SQL Fiddle with Demo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读