Рекурсивная подача SQL ORA-01790
Используя Oracle 11g, выпуск 2, следующий запрос дает выражение ORA-01790: должен иметь тот же тип данных, что и соответствующее выражение:
with intervals(time_interval) AS
(select trunc(systimestamp)
from dual
union all
select (time_interval + numtodsinterval(10, 'Minute'))
from intervals
where time_interval < systimestamp)
select time_interval from intervals;
Ошибка предполагает, что типы данных обоих подзапросов UNION ALL возвращают разные типы данных.
Даже если я приведу TIMESTAMP в каждом из подзапросов, я получу ту же ошибку.
Что мне не хватает?
РЕДАКТИРОВАТЬ: Я не ищу замены CONNECT BY.