Witam
Mam problem z przepisaniem wyrażenia rekurencyjnego CTE z bazy SQL Server na Oracle. Na SQL Server dostaje poprawne wyniki czyli więcej niż 1 a w bazie Oracle tylko jeden który jest zaczepieniem rekurencji.
SQL Server
WITH D AS
(
SELECT CAST('2014-07-01' AS DATE) AS DateValue
UNION ALL
SELECT
DATEADD(M, 1, DateValue) AS DateValue
FROM D
WHERE DateValue < '2015-01-01'
)
SELECT * FROM D
Oracle
WITH D (DateValue) AS
(
SELECT CAST('2014-07-01' AS DATE) AS DateValue FROM DUAL
UNION ALL
SELECT ADD_MONTHS(DateValue, 1) AS DateValue FROM D
WHERE DateValue < '2015-01-01'
)
SELECT * FROM D;