By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
CREATE TABLE num_ranges ( id, start_number, end_number ) as
SELECT 1, 1, 5 FROM DUAL UNION ALL
SELECT 2, 6, 10 FROM DUAL;
2 rows affected
WITH recursive_query (id, nmbr, end_number ) AS (
SELECT id,
start_number,
end_number
FROM num_ranges
UNION ALL
SELECT id,
nmbr + 1,
end_number
FROM recursive_query
WHERE nmbr + 1 <= end_number
)
SEARCH DEPTH FIRST BY id SET order_id
SELECT id,
nmbr
FROM recursive_query;
ID | NMBR |
---|---|
1 | 1 |
1 | 2 |
1 | 3 |
1 | 4 |
1 | 5 |
2 | 6 |
2 | 7 |
2 | 8 |
2 | 9 |
2 | 10 |