Мне было интересно, возможно ли это. У меня есть существующий запрос, который использует предложение 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, предыдущий оператор должен заканчиваться точкой с запятой.
Возможно ли то, что я пытаюсь сделать, с другим синтаксисом?
INSERTутверждение? Он показывает, что CTE предшествуетINSERT, и включает пример использования CTE. - person Pondlife   schedule 22.03.2013