- 締切済み
同一トランザクションの中でテーブルの更新結果を参照できるか?
VB5.0+SQL-Serverで、以下のような処理を 検討しているのですが、いい方法がみつかりません。 つまり、同一トランザクションの中で更新結果を 参照することが出来るのでしょうか? ご教授いただけると幸いです。 【検討中の処理】 トランザクション開始(BegenTrans) テーブルA更新 テーブルAの更新結果を参照してテーブルBを更新 (この時点ではトランザクションを終了していないので、 テーブルAの更新結果が参照できない) トランザクション終了(CommitTrans)
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- quoth
- ベストアンサー率31% (158/506)
回答No.1
SQLサーバーはあまり詳しくないのですが、 Aの更新の結果がどうだったか(成功したのかエラーだったのかといった意味)をチェックしてからやるのでしたら、一度commitする必要があります。 ただ、更新結果のなんかしらの値を知りたいのであれば、updateの前に、select参照をして値を持っておく必要があると思います。 SQLサーバーにはcommitだけ(トランザクションの終了を伴わないcommit)はないのですか? 質問ばっかりなので、自信なしです。
補足
ご回答ありがとうございます。 実更新はA,B同時に行いたいのですが、その前に 一時的にでもテーブルAが(見かけ上)更新できない ものかなぁ、と。 例えばMDBだとそれが出来るような気がするのですが。 確かにテーブルA更新時にcommitすれば、その結果を 参照できるのでしょうが、あくまでAB同時更新したいので。 SQL-ServerはVer.7.0です。