Да, Oracle има временни таблици. Ето връзка към статия на AskTom, която ги описва, а ето и официалната документация на оракула CREATE TABLE.
В Oracle обаче само данните във временна таблица е временно. Таблицата е обикновен обект, видим за други сесии. Лоша практика е честото създаване и премахване на временни таблици в Oracle.
CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER)
ON COMMIT PRESERVE ROWS;
Oracle 18c добави частни временни таблици, които са обекти в паметта с една сесия. Вижте документацията за повече подробности. Частните временни таблици могат да се създават динамично и отпадат.
CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS
SELECT * FROM orders WHERE order_date = SYSDATE;
Временните таблици могат да бъдат полезни, но те често се злоупотребяват в Oracle. Те често могат да бъдат избегнати чрез комбиниране на няколко стъпки в един SQL израз с помощта на вградени изгледи.