在INSERT语句中使用WITH子句

21 浏览
0 Comments

在INSERT语句中使用WITH子句

我想知道这是否可能。我有一个现有的查询,使用WITH子句将一些聚合数据应用于一个SELECT查询,如下所示(大大简化):

;WITH alias (y,z)
AS
(
    SELECT y,z FROM tableb
)
SELECT y, z FROM alias

现在我想将这个查询的结果INSERT到另一个表中。

我尝试了以下方法:

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

但是我得到了错误:

附近的语法不正确';'。

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

附近的关键字'WITH'的语法不正确。

附近的关键字'with'的语法不正确。如果这个语句是一个公共表达式或xmlnamespaces子句,则前一个语句必须以分号结尾。

我是否可以用不同的语法实现我想做的事情?

0