ホームページ  >  記事  >  データベース  >  Oracle を使用して一時テーブルにクエリを実行する方法を調べる

Oracle を使用して一時テーブルにクエリを実行する方法を調べる

PHPz
PHPzオリジナル
2023-04-18 09:07:361142ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。