Le WITH
clause ressemble à la chose la plus proche de ce que vous décrivez. Mais cela nécessite que vous génériez les données d'une manière ou d'une autre. Sélection à partir de DUAL
est probablement l'option la plus simple
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>>
Puisque vous ne voulez pas regrouper un tas de requêtes, vous pouvez faire quelque chose comme
WITH my_temp_table AS (
select level num,
initcap( to_char( to_date( level, 'J' ),
'JSP' )) name
from dual
connect by level <= 4
)
...