Yap, Oracle memiliki tabel sementara. Berikut ini tautan ke artikel AskTom yang menjelaskannya dan ini adalah dokumentasi resmi CREATE TABLE oracle.
Namun, di Oracle, hanya data dalam tabel sementara bersifat sementara. Tabel adalah objek biasa yang terlihat oleh sesi lain. Ini adalah praktik yang buruk untuk sering membuat dan menjatuhkan tabel sementara di Oracle.
CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER)
ON COMMIT PRESERVE ROWS;
Oracle 18c menambahkan tabel sementara pribadi, yang merupakan objek dalam memori sesi tunggal. Lihat dokumentasi untuk lebih jelasnya. Tabel sementara pribadi dapat dibuat dan dijatuhkan secara dinamis.
CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS
SELECT * FROM orders WHERE order_date = SYSDATE;
Tabel sementara dapat berguna tetapi biasanya disalahgunakan di Oracle. Mereka sering dapat dihindari dengan menggabungkan beberapa langkah ke dalam satu pernyataan SQL menggunakan tampilan sebaris.