プロが教える店舗&オフィスのセキュリティ対策術

VBでトランザクションをかけてあるテーブルを処理しています。
具体的にはテーブルAのレコードを一時的に別テーブル(テーブルB)に
コピーしてそのレコードすべてを元のテーブルから削除して、
テーブルB内で処理をさせてから、そのデータをテーブルAに戻して
コミットしています。
この処理中に、別PGもしくはSQLPlusでテーブルAからテーブルBに
コピー対象の1レコードを削除してコミットしました。
これってエラーになる?ならない?それともトランザクション中だから
テーブルAがコミットされて開放されるまで待ちの状態になる??

実際どうなったかというとエラーにならなくて、その処理で最後に
テーブルAにテーブルBをコピーしたときにエラーになって
データがきえるという現象がおきてしまいました。

上記のような処理のときにOracle条ではどのような処理になるのでしょうか?

よろしくお願いします。

A 回答 (3件)

やはり状況がよくわかりませんが、VBでテーブルを操作してどうこうというのがそもそも間違っているように思います.


トランザクションはSQL側(というかデータベース側)ですべきことのように思いますが.
おそらく、そういう機能があるだろうと思います.
    • good
    • 0

やはり状況がよくわかりませんが、VBでテーブルを操作してどうこうというのがそもそも間違っているように思います.


トランザクションはSQL側(というかデータベース側)ですべきことのように思いますが.
おそらく、そういう機能があるだろうと思います.
    • good
    • 0

状況がうまくつかめません。



>この処理中に、別PGもしくはSQLPlusでテーブルAからテーブルBにコピー対象の1レコードを削除してコミットしました。

この文がぴんときません。そのため、全体のつながりがわかりません。
    • good
    • 0

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

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