Oracle 一時テーブルの作成と管理
Oracle データベースでは、クエリの実行中に中間結果を保存するために一時テーブルが使用されます。他のデータベースとは異なり、Oracle の一時テーブルは使用後に自動的に削除されません。
グローバル一時テーブルの作成
グローバル一時テーブルはデータベース内のすべてのセッションに表示され、そのデータはそれらを作成したセッションが終了するまで存在します。グローバル一時テーブルを作成するには、次の構文を使用します:
<code class="language-sql">CREATE GLOBAL TEMPORARY TABLE <表名> ( <列名> <数据类型> ) ON COMMIT PRESERVE ROWS;</code>
ON COMMIT PRESERVE ROWS
句により、トランザクションがコミットされた後でもテーブル データが確実に保持されます。
一時テーブルにデータを追加します
一時テーブルを作成した後、次のように INSERT
ステートメントを使用してテーブルにデータを設定できます。
<code class="language-sql">INSERT INTO <表名> SELECT * FROM <源表>;</code>
または、CREATE...AS SELECT
ステートメントを使用して、単一のステートメントで一時テーブルを作成し、値を設定することもできます。
<code class="language-sql">CREATE GLOBAL TEMPORARY TABLE <表名> AS SELECT * FROM <源表>;</code>
プライベート一時テーブル (Oracle 18c 以降)
Oracle 18c では、メモリに保存され、現在のセッションでのみ使用できるプライベート一時テーブルが導入されました。これらのテーブルは動的に作成および削除されます:
<code class="language-sql">CREATE PRIVATE TEMPORARY TABLE <表名> AS SELECT * FROM <源表>;</code>
一時テーブルの悪用
一時テーブルは便利ですが、Oracle では悪用される可能性もあります。一時テーブルを過度に使用すると、パフォーマンスの問題やリソースの競合が発生する可能性があります。誤用を避けるために、一時テーブルは注意して使用し、可能な場合はインライン ビューの使用を検討してください。以上がOracle で一時テーブルを作成および管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。