Ja, Oracle heeft tijdelijke tabellen. Hier is een link naar een AskTom-artikel waarin ze worden beschreven en hier is de officiële Oracle CREATE TABLE-documentatie.
In Oracle zijn echter alleen de gegevens in een tijdelijke tabel is tijdelijk. De tafel is een vast object dat zichtbaar is voor andere sessies. Het is een slechte gewoonte om regelmatig tijdelijke tabellen in Oracle te maken en neer te zetten.
CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER)
ON COMMIT PRESERVE ROWS;
Oracle 18c heeft tijdelijke privétabellen toegevoegd, dit zijn in-memory-objecten voor één sessie. Zie de documentatie voor meer details. Tijdelijke privétabellen kunnen dynamisch worden gemaakt en verwijderd.
CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS
SELECT * FROM orders WHERE order_date = SYSDATE;
Tijdelijke tabellen kunnen handig zijn, maar ze worden vaak misbruikt in Oracle. Ze kunnen vaak worden vermeden door meerdere stappen te combineren in een enkele SQL-instructie met behulp van inline views.