Oracle
 sql >> Database >  >> RDS >> Oracle

Come si crea una tabella temporanea in un database Oracle?

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.