Oracle は強力なリレーショナル データベース管理システムです。 Oracle を使用するプロセスでは、多くの場合、一部のデータを一時的に保存したり、一時的なデータ処理操作を実行したりするために、一時テーブルを作成する必要があります。ただし、一時テーブルを使用した後は、データベース リソースを解放するために一時テーブルを削除する必要もあります。そこで今回はOracleで一時テーブルを削除する方法を紹介します。
1.一時テーブルとは何ですか?
一時テーブルは、ユーザー セッション中にデータを一時的に保存および処理するために使用される特別な Oracle テーブルです。クエリ結果、ストアド プロシージャからの戻り値、またはその他のデータを保存できます。一時テーブルは制限されており、セッションが終了すると自動的に削除されます。
2. 一時テーブルを作成するにはどうすればよいですか?
Oracle では、CREATE GLOBAL TEMPORARY TABLE ステートメントを使用して一時テーブルを作成できます。たとえば、次のステートメントは、temp_table という名前の一時テーブルを作成します。
CREATE GLOBAL TEMPORARY TABLE temp_table (
id NUMBER,
name VARCHAR2(20));
この例では、たとえば、id と name の 2 つの列を含む一時テーブル temp_table を作成します。
3. 一時テーブルを削除するにはどうすればよいですか?
1. 通常の削除
Oracle でテーブルを削除するステートメントは DROP TABLE です。通常のテーブルは DROP TABLE 文を使用して削除できますが、一時テーブルの削除方法は通常のテーブルとは少し異なります。一時テーブルは現在のセッションにのみ存在するため、通常の DROP TABLE ステートメントを使用して一時テーブルを直接削除することはできません。
DROP TABLE ステートメントを使用して一時テーブルを削除すると、次のエラー メッセージが表示されます: ORA-00942: テーブルまたはビューが存在しません。これは、テーブルが破壊されているため、Oracle がテーブルを見つけることができないためです。
したがって、Oracle では、一時テーブルを削除するには、TRUNCATE TABLE ステートメントを使用するか、現在のセッションで一時テーブルを閉じる必要があります。これら 2 つの方法については、以下で個別に紹介します。
2.TRUNCATE TABLE の削除
一時テーブルを削除する 1 つの方法は、TRUNCATE TABLE ステートメントを使用することです。 TRUNCATE TABLE ステートメントは DROP TABLE ステートメントと非常に似ており、どちらも Oracle データベースからテーブルを削除できます。しかし、それらの間にはいくつかの重要な違いがあります。
DROP TABLE ステートメントは、Oracle データベース内のテーブルを削除し、テーブルとその関連オブジェクトを完全に削除します。 TRUNCATE TABLE ステートメントはテーブル内のすべての行を削除するだけで、テーブル自体は削除しません。 TRUNCATE TABLE ステートメントを使用すると、Oracle はテーブルの記憶領域を自動的に解放します。したがって、TRUNCATE TABLE ステートメントは DROP TABLE ステートメントよりも高速でリソース効率が高くなります。
次は、TRUNCATE TABLE ステートメントを使用して一時テーブルを削除する例です:
TRUNCATE TABLE temp_table;
TRUNCATE TABLE ステートメントを使用する場合は、次のことに注意してください。このステートメントでは、一時テーブル内のすべてのデータが削除されますが、一時テーブルの定義は残ります。この利点は、セッション終了後、一時テーブルを再定義することなく再度使用できることです。
3. セッションの削除を閉じる
Oracle では、一時テーブルは現在のセッションにのみ存在します。したがって、現在のセッションを閉じると、一時テーブルが直接削除される可能性があります。セッションを閉じる方法は 2 つあります。1 つは exit ステートメントを使用する方法で、もう 1 つは次のステートメントを使用して現在のセッションを閉じる方法です:
ALTER SESSION CLOSE DATABASE LINK ...
このステートメントでは、... を現在のセッション接続のデータベース リンク名に置き換えるだけです。このステートメントを実行すると、Oracle は現在のセッションを閉じ、セッション中に作成されたすべての一時テーブルは自動的に削除されます。
4. 概要
Oracle では、一時テーブルは、データを一時的に保存し、データ処理を実行するために使用される特別なテーブル タイプです。一時テーブルを使用する場合は、Oracle データベースのリソースを占有しないように、削除操作に注意する必要があります。この記事では、Oracle 一時テーブルを削除する 3 つの方法 (TRUNCATE TABLE ステートメント、現在のセッションを閉じる、DROP TABLE ステートメント) を紹介しました。どの方法を使用する場合でも、不必要な損失を避けるために慎重に運用する必要があります。
以上がOracle の一時テーブルの削除の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。