De WITH
clausule is klinkt als het dichtst bij wat je beschrijft. Maar dat vereist dat u de gegevens op de een of andere manier genereert. Kiezen uit DUAL
is waarschijnlijk de gemakkelijkste optie
WITH my_temp_table AS (
SELECT 'One' name, 1 num from dual union all
SELECT 'Two', 2 from dual union all
SELECT 'Three', 3 from dual union all
SELECT 'Four', 4 from dual
)
SELECT *
FROM my_temp_table
JOIN person ON (<<some join condition>>)
WHERE <<some predicate>>
Omdat je niet een heleboel vragen wilt samenvoegen, kun je zoiets doen als
WITH my_temp_table AS (
select level num,
initcap( to_char( to_date( level, 'J' ),
'JSP' )) name
from dual
connect by level <= 4
)
...