Да, у 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 с помощью встроенных представлений.