重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になります。

DB:Oracle11g
OS:Linux5

上記環境のDBサーバへ、Aさん、BさんがTera Term接続して、
2名とも同じスキーマSSS(DBA付与)でsqlplusにてDB接続しました。

Aさんが、TTTテーブルに対してINSERT文を実行し、
1行追記されていることをSELECT文にて確認することができましたが、、
その後Bさんが同じSELECT文を実行しても、Aさんが追記した行が表示されません。

お恥ずかしい質問で恐縮ですが、
Bさんからも、AさんのINSERT実行結果を即時に確認できるようにするための
Oracleの(?)設定がありましたら、ご教示ください。

※目的はAさんが実行したINSERT、UPDATE、DELETEの結果を、
  Bさんが開いているTera Termのコンソールからも確認したい。

A 回答 (1件)

Aさんがコミットして更新(この場合INSERT)を確定すれば


Bさんからも見えるようになりますよ。
Aさんが確定しない限り、Aさんの更新はBさんからは見えません。

このカラクリがないと
Aさんが「やっぱ、や~めた」ってロールバックした時
困るでしょ? Bさんから見えてたら。

SQL*Plusで

SET AUTOCOMMIT ON

として自動コミット機能を有効にすれば
Aさんが更新するたびに自動的(強制的)にコミットされますが、
Aさんは、その更新をロールバックすることができなくなります。

よ~~~く、考えて使うべき機能です。
    • good
    • 0
この回答へのお礼

検証環境で目的の動作を確認できました。
ロールバックのご指摘も含め、ご回答ありがとうございました。

お礼日時:2013/01/23 00:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す