ホームページ >データベース >Oracle >Oracleストアドプロシージャの一時テーブルとは何ですか

Oracleストアドプロシージャの一時テーブルとは何ですか

WBOY
WBOYオリジナル
2022-06-13 15:16:384153ブラウズ

Oracle では、ストアド プロシージャの一時テーブルは、データを一時的に保存するために使用されるテーブルです。トランザクションまたはセッションが終了すると、一時テーブル内のデータはデータベースによって自動的に消去され、一時テーブルはデータベースの存続期間に応じて使用できます。さまざまなサイクルは、トランザクション レベルの一時テーブルとセッション レベルの一時テーブルに分けられます。作成構文は、「コミット時にグローバル テンポラリ テーブルを作成し、行を保持/削除する」です。

Oracleストアドプロシージャの一時テーブルとは何ですか

このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 12c、Dell G3 コンピューター。

Oracle ストアド プロシージャの一時テーブル

一時テーブルの構文:

create global temporary table 临时表名 on commit preserve/delete rows  
--preserve:SESSION级的临时表,delete:TRANSACTION级的临时表.

1. 関数: データを「一時的に」保存するために使用されます

(1) トランザクションまたはセッションが終了すると、この一時テーブルの「データ」はデータベースによって自動的に消去されます

(2) ただし、「テーブル構造」は残ります

2. カテゴリ: 'ライフサイクルの違い'

(1) トランザクションレベルの一時テーブル: コミット時に行を削除; コミット時にレコードを「削除」(デフォルト)

(2) セッションレベルの一時テーブル: コミット時に行を保持します。コミット時にレコードを「保存」し、セッション終了時にレコードを「削除」します。 ## (1) 一時テーブルの処理効率は通常のテーブルより高い

# & lt; 1 & gt; (2) 操作方法は通常のテーブルと同じです

4. 次のテストでは、一時テーブルを作成した後、情報クエリが実行されます。

SESSION レベルの一時テーブル データは、SESSION 全体で最後まで存在します。そして、TRANSACTION レベルの一時テーブル データは、TRANACTION の終了後に消去されます。つまり、COMMIT/ROLLBACK または SESSION の終了により、TRANACTION 一時テーブル データが消去されます。

セッションが終了するか、ユーザーがコミットとロールバックのトランザクションを送信すると、一時テーブル内のデータは自動的にクリアされますが、一時テーブルの構造とメタデータはユーザーのデータ ディクショナリに保存されたままになります。セッションが終了するとき(ユーザーが正常に終了するか、ユーザーが異常終了するか、ORACLE インスタンスがクラッシュする)、またはトランザクションが終了すると、Oracle はこのセッションのテーブルに対して TRUNCATE ステートメントを実行して一時テーブルのデータをクリアしますが、データはクリアされません。他のセッションの一時テーブル内。一時テーブルではトリガーを使用できます。

推奨チュートリアル: 「

Oracle ビデオ チュートリアル

Oracleストアドプロシージャの一時テーブルとは何ですか

以上がOracleストアドプロシージャの一時テーブルとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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