- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:INSERTしたテーブルデータの参照)
テーブルデータの参照方法について
このQ&Aのポイント
- PL/SQLの環境で、テーブルAにINSERTしたデータを元にテーブルBにデータを作成する際に、COMMITせずにテーブルAのデータを取得できるかどうかを質問します。
- テーブルAにINSERTしたデータを取得する際、COMMITせずにテーブルBを作成することができますが、テーブルAのデータを必ず取得できるかどうかは仕様によります。
- 一般的には、COMMITせずにテーブルAのデータを取得することはできますが、仕様や設定によっては取得できない場合もあります。ご注意ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そのセッション内であれば、コミットしてるしてないに関わらず参照可能です。 データはそもそもUNDO領域に格納されていますので、コミット前のデータはそこを参照することで取り出すことができます。
その他の回答 (2)
- Struggler
- ベストアンサー率18% (97/527)
回答No.3
補足です。 最後の部分の説明は内部のロジックな話で、普通にテーブルを参照すればそういう風に動作します。
- yorozu_ya
- ベストアンサー率54% (76/140)
回答No.2
> テーブルAにデータをINSERTしてから、COMMITせずに、テーブルBのデータを > 作成するために、テーブルAのデータを取得します。その際、最初に登録した > テーブルAのデータは、テーブルBを作成する際、必ず取得できるのでしょうか。 その辺、ORACLEはよく出来てます。 他人が追加して未COMMITのものは見えませんが、 自分で追加したものはチャンと見えます。 削除も同様に 他人が削除して未COMMITのものは見えますが(更新は不可)、 自分で削除したものはチャンと消えてます。
質問者
お礼
御礼が遅れてすみません。 ご回答ありがとうございます。 なるほど、ORACLEは、便利に作られているんですね。 勉強になりました。
お礼
御礼が遅れてすみません。 ご回答ありがとうございます。 安心してプログラムを提出することができました。