はい、Oracleには一時テーブルがあります。これは、それらを説明するAskTomの記事へのリンクであり、オラクルの公式CREATETABLEドキュメントです。
ただし、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では一般的に悪用されています。多くの場合、インラインビューを使用して複数のステップを1つのSQLステートメントに結合することで回避できます。