Sì, Oracle ha tabelle temporanee. Ecco un collegamento a un articolo di AskTom che li descrive ed ecco la documentazione ufficiale dell'oracolo CREATE TABLE.
Tuttavia, in Oracle, solo i dati in una tabella temporanea è temporaneo. La tabella è un normale oggetto visibile ad altre sessioni. È una cattiva pratica creare ed eliminare frequentemente tabelle temporanee in Oracle.
CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER)
ON COMMIT PRESERVE ROWS;
Oracle 18c ha aggiunto tabelle temporanee private, che sono oggetti in memoria a sessione singola. Vedere la documentazione per maggiori dettagli. Le tabelle temporanee private possono essere create ed eliminate dinamicamente.
CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS
SELECT * FROM orders WHERE order_date = SYSDATE;
Le tabelle temporanee possono essere utili ma sono comunemente usate in abuso in Oracle. Spesso possono essere evitati combinando più passaggi in un'unica istruzione SQL utilizzando viste inline.