Ano, Oracle má dočasné tabulky. Zde je odkaz na článek AskTom, který je popisuje, a zde je oficiální dokumentace CREATE TABLE pro oracle.
V Oracle však pouze data v dočasné tabulce je dočasné. Tabulka je běžný objekt viditelný pro ostatní relace. Je špatné často vytvářet a rušit dočasné tabulky v Oracle.
CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER)
ON COMMIT PRESERVE ROWS;
Oracle 18c přidal soukromé dočasné tabulky, což jsou objekty v paměti s jednou relací. Další podrobnosti naleznete v dokumentaci. Soukromé dočasné tabulky lze dynamicky vytvářet a rušit.
CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS
SELECT * FROM orders WHERE order_date = SYSDATE;
Dočasné tabulky mohou být užitečné, ale v Oracle se běžně zneužívají. Často se jim lze vyhnout zkombinováním více kroků do jednoho příkazu SQL pomocí inline zobrazení.