Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Erstellen einer temporären Tabelle in Oracle SQL

Der WITH Klausel klingt wie das, was dem, was Sie beschreiben, am nächsten kommt. Aber das erfordert, dass Sie die Daten irgendwie generieren. Auswahl aus DUAL ist wahrscheinlich die einfachste Option

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>>

Da Sie eine Reihe von Abfragen nicht vereinigen möchten, können Sie so etwas wie

tun
WITH my_temp_table AS (
  select level num,
         initcap( to_char( to_date( level, 'J' ),
                           'JSP' )) name
    from dual
 connect by level <= 4
)
...