Я изо всех сил пытался вписать свою логику в рекурсивный cte, так как это кажется лучшим подходом к решению проблемы иерархии с использованием SQL.При выполнении этой структуры ниже я получаю синтаксическую ошибку
в или около строки "DROP" 7: создайте временную таблицу для всех новых версий AS (SELECT mc.changeset_id, ...
Интересно, можем ли мы создавать и удалять временные таблицы внутри рекурсивной части рекурсивного cte?
create temp table maincompo AS(SELECT * from X)
create temp table allnew AS (SELECT * FROM Y inner join maincompo)
--anchor query starts--
(WITH RECURSIVE mainquery AS ((SELECT * FROM allnew )
--anchor query ends--
UNION ALL
DROP TABLE maincompo
DROP TABLE allnew
create temp table maincompo AS(SELECT * from X inner join mainquery)
create temp table allnew AS (SELECT * FROM Y inner join maincompo)
SELECT * from allnew )
SELECT * from mainquery)
Возможно ли что-то подобное ??, имея в виду, что временные таблицы в Union ALL должны бытьсозданный каждый что-то добавляется к якорному запросу из рекурсивного запроса.