ORCALテンポラリーテーブルの作成と削除
I.Orcal一時テーブルのカテゴリ
1. セッションレベルのテンポラリテーブル
-
1). セッションを保存する
Session
セッションデータの - 2). 一時的なテーブルデータは、セッションが終了すると自動的にクリアされます。また、テーブル構造とメタデータはユーザーデータ辞書に保存される。
要約すると セッションレベルの一時テーブルとは、一時テーブルのデータがセッションの間だけ存在し、ユーザーがセッションの終了時にOracleによって自動的にクリアされるものです。
2. トランザクションレベルの一時テーブル
- 1). トランザクションに必要なデータを保存する。
- 2). トランザクションがコミットまたはロールバックされると、一時的なテーブルデータは自動的にクリアされる。また、テーブル構造とメタデータはユーザーデータ辞書に保存される。
要約すると
トランザクションレベルの一時テーブルとは、一時テーブルのデータがトランザクションの存続期間のみ存在し、トランザクションがコミットされるか、その後ロールバックされる際に
Oracle
は自動的にテンポラリ・テーブルのデータをクリアします。
II. テンポラリーテーブルの作成
1. セッションレベルのテンポラリーテーブル
1). 先に作成し、後からデータを挿入する
Create Global Temporary Table Table_Name (Col1 Type1,Col2 Type2...) On Commit Preserve Rows;
Insert Into Table_Name Values("","");
2). 作成時に直接データを挿入する
CREATE GLOBAL TEMPORARY TABLE Table_Name ON COMMIT PRESERVE ROWS AS select Col1, Col2 from Query_Table_Name where... ;
2. トランザクションレベルのテンポラリテーブル
1). 先に作成し、後でデータを挿入する
Create Global Temporary Table Table_Name (Col1 Type1,Col2 Type2...) On Commit Delete Rows;
Insert Into Table_Name Values("","");
2). 作成時に直接データを挿入する
CREATE GLOBAL TEMPORARY TABLE Table_Name ON COMMIT Delete ROWS AS select Col1, Col2 from Query_Table_Name where... ;
III. 一時テーブルを削除する
一時テーブルを作成したセッションが終了していない場合、一時テーブルはまだ使用中であるため、削除することはできません。しかし、セッションが終了した後(セッションレベルの一時テーブルが作成されたコマンドウィンドウを閉じた後)であれば、削除することができます。
Drop Table Table_name;
IV. 削除時のエラー
説明
元のコマンドウィンドウを閉じてから、以下を実行します。
Drop Table Table_name;
エラーの報告です。
ORA-14452:
使用中のテンポラリテーブルのインデックスを作成、変更、または削除しようとした
1. テーブルを空にし、削除する
TRUNCATE TABLE test_table;
drop table test_table;
2. プロセスを終了させ、削除する
SELECT sid, serial# FROM v$session
WHERE sid = (SELECT sid FROM v$lock
WHERE id1 = (SELECT object_id FROM user_objects
WHERE object_name = upper('test_table')));
権限がない場合は認可を実行する
grant select any dictionary to user;
Query the session's sid and serial# to.
その後、プロセスを強制終了してください。
lter system kill session 'sid,serial#';
最後に削除する場合
drop table test_table;
この時点でこの記事の
ORCAL
テンポラリテーブルの作成と削除に関する記事は以上です。
ORCAL
テーブルの作成と削除については、スクリプトハウスの過去の記事を検索していただくか、引き続き以下の関連記事をご覧ください。
関連
-
オラクル表領域拡張の詳細
-
Oracle Logminer クイックスタート詳細
-
Oracle Temporary Tablespace SQLステートメントの実装
-
Oracle PL/SQLを使用して電子メール機能(UTL_MAIL)を実装する方法
-
Oracleのカンマ区切り文字列を複数行に分割したデータ例
-
[解決済み] ORA-00900: 無効な SQL 文 - Oracle 10g のプロシージャを実行するとき
-
[解決済み] ORA-01849: 時間は 1 から 12 の間でなければなりません。
-
[解決済み] ORA-30036: アンドゥ テーブルスペース 'UNDOTBS' でセグメントを 8 つ拡張できません。
-
[解決済み] PLS-00103:次のいずれかを期待しているときに、記号"; "に遭遇しました。
-
[解決済み] SQLステート [72000]; エラーコード [14300]; JDBCバッチアップデートを実行できませんでした。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
OracleインストールTNS_ADMIN環境変数設定リファレンス
-
Oracle Sqlplusコマンドログイン複数方法ケーススタディ
-
オラクルのブロック修正追跡機能の説明
-
PLSQLDeveloper14を使用したOracle11gへの接続手順を詳しく伝授
-
Oracle21cをRPMパッケージでインストールする方法
-
Oracleトレースファイルの詳細な使用方法
-
[解決済み】ソケットから読み込むデータがなくなるエラー
-
[解決済み] ORA-01882: タイムゾーン領域が見つかりません。
-
[解決済み] ORA-01950: テーブルスペース 'USERS' に特権がありません [閉鎖]。
-
[解決済み] カラムが存在するにもかかわらず、ORA-00904が発生するのはなぜですか?