Oracle データベースでは、一時テーブルは一時データを格納するために使用される一時テーブルです。通常のテーブルとは異なり、セッション終了後に自動的に削除されます。一時テーブルでは、通常のテーブルと同様に、SELECT、INSERT、UPDATE、DELETE などの操作を使用できますが、そのデータは現在のセッションでのみ表示され、他のセッションではアクセスできません。この記事では、Oracle を使用して一時テーブルにクエリを実行する方法を説明します。
一時テーブルの作成
Oracle データベースでは、CREATE GLOBAL TEMPORARY TABLE または CREATE TEMPORARY TABLE ステートメントを使用して一時テーブルを作成できます。 2 つのステートメントは非常に似ていますが、主な違いは、CREATE GLOBAL TEMPORARY TABLE はグローバル一時テーブルを作成し、CREATE TEMPORARY TABLE はセッション一時テーブルを作成することです。次に、セッション一時テーブルを作成する例を示します。
CREATE GLOBAL TEMPORARY TABLE temp_table ( id NUMBER(10), name VARCHAR2(30) ) ON COMMIT PRESERVE ROWS;
このステートメントは、id と name の 2 つの列を含む temp_table という名前の一時テーブルを作成し、データはセッションの終了時に削除されます。 ON COMMIT PRESERVE ROWS オプションは、送信後にデータが保持されることを指定するため、セッション中に一時テーブルを複数回使用できます。
一時テーブルのクエリ
一時テーブルのクエリは、通常のテーブルのクエリと非常に似ています。次に、一時テーブルのクエリの例を示します。
SELECT * FROM temp_table;
これにより、temp_table 内のすべての行と列が返されます。
複数のセッション間で一時データを共有する場合は、CREATE GLOBAL TEMPORARY TABLE ステートメントを使用してグローバル一時テーブルを作成できます。次に、グローバル一時テーブルの使用例を示します。
CREATE GLOBAL TEMPORARY TABLE temp_table ( id NUMBER(10), name VARCHAR2(30) ) ON COMMIT PRESERVE ROWS; -- 在会话1中插入数据 INSERT INTO temp_table VALUES (1, 'Alice'); COMMIT; -- 在会话2中查询数据 SELECT * FROM temp_table; -- 在会话1中插入更多的数据 INSERT INTO temp_table VALUES (2, 'Bob'); COMMIT; -- 再次在会话2中查询数据 SELECT * FROM temp_table;
この例では、グローバル一時テーブル temp_table がセッション 1 で作成され、その後、いくつかのデータがセッション 1 に挿入されます。セッション 2 は、SELECT ステートメントを使用して temp_table 内のすべての行と列をクエリします。このクエリの間、セッション 1 は temp_table へのデータの挿入を継続し、送信後もデータを保持します。最後に、セッション 2 で再度 temp_table をクエリすると、以前に挿入された行のみが表示され、その後の行は表示されません。
Oracle データベースでは、一時テーブルをクエリするための構文は、通常のテーブルをクエリするための構文と同じです。一時テーブルの主な利点は、セッション終了後にテーブルが自動的に削除されるため、一時データを操作するときに手動でのクリーンアップ作業を回避できることです。
以上がOracle を使用して一時テーブルにクエリを実行する方法を調べるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。