
ある理由から、以下のようなトランザクションを行っています。
①テーブルAの列BをKey指定でupdateをする
②「①」と同じ条件(where句)で、テーブルAをselectをする
③確認等いろいろ処理をする
④コミットをする
そこで疑問なのですが、「②」の際、まだコミットしていないのに、「②」のselect結果は、「①」のupdate結果が反映された内容になっています。
なぜこういうことになるのでしょうか?
動き的には大変結構ですし、同じトランザクションなんだから、そういうもんだよね、と思うのですが、正しい根拠を知りたいです。
また、裏付けとなる仕様や理屈等が書かれたサイトがあれば、教えていただきたいです。
使用しているDBMSはDB2 Ver10.5です。
よろしくお願いします!
No.1ベストアンサー
- 回答日時:
トランザクションというのはそういうものだからとしかいいようがないかと。
トランザクション内でupdateしたものが一時的に反映されないなら
updateされたことを前提に行うその後の処理が無意味になりますよね
そのためにトランザクションを利用するのですから。
ロックと絡めて排他処理にすればコミットでもロールバックでもとくに
他の参照処理とも不整合にはならないので問題はないでしょう
>トランザクション内でupdateしたものが一時的に反映されないなら
>updateされたことを前提に行うその後の処理が無意味になりますよね
言葉にして頂いてありがとうございます。
全くその通りだと思いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
コミット前の更新データをチェックするには?
Java
-
一つのトランザクションでSELECTとUPDATEできますか? (ADO.NET)
SQL Server
-
SELECT時の行ロックの必要性について
MySQL
-
-
4
トランザクション中にSELECTした場合について
MySQL
-
5
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
6
同一トランザクションの中でテーブルの更新結果を参照できるか?
SQL Server
-
7
CloseとDisposeの違い
Visual Basic(VBA)
-
8
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
9
SELECT文でのデッドロックに対しての対処方
SQL Server
-
10
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
11
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
12
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
13
VB.net 任意の例外を発生させるには・・・
Visual Basic(VBA)
-
14
SELECT 文 GROUP での1件目を取得
SQL Server
-
15
手動または分散トランザクションモード…のエラー
Visual Basic(VBA)
-
16
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
17
SQL>UPDATEと同時にその件数をCOUNTする方法
その他(データベース)
-
18
.NET - 配列変数を省略可能の引数にする方法
Visual Basic(VBA)
-
19
SELECT FOR UPDATE にトランザクションは必要ですか?
MySQL
-
20
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【DB】同じトランザクション内...
-
TPSとは・・・
-
汎用系システムのDBについて
-
復旧中のデータベースについて
-
32ビット版Officeで作成64ビッ...
-
SQLServerバックアップ戻せない
-
復元に異常に時間がかかる
-
エクセルのフィルタ抽出が固まる
-
SQLローダーを使ってExcelのデ...
-
オブジェクトブラウザとoracle...
-
ログファイルの圧縮がされずに...
-
警察はスマホに保存した動画や...
-
MS-Accessのエクスポートで異常...
-
BACKUP DATABASE とINSERTが同...
-
SQL Server Management Studio ...
-
PCが悪くなって新しいPCにSSMS...
-
ACCESS2010 Excelエクスポート ...
-
期限切れのバックアップの削除
-
マスタメンテとは?
-
ファイルメーカーで変更禁止を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【DB】同じトランザクション内...
-
postgresql についてです
-
Accessdでの「トランザクション...
-
dbFailOnError とは?
-
TPSとは・・・
-
OracleのROWIDについて…
-
汎用系システムのDBについて
-
一つのトランザクションでSELEC...
-
PHP-オラクルでのトランザクション
-
PostgreSQLのクラスタ運用について
-
jmeterについて、教えてください。
-
トランザクション
-
DBMSのロールフォワードについて
-
どうやって指定してよいかわか...
-
ADO Connection を再利用する方法
-
SAPのSPROって何の略ですか?
-
SQL Server 2005トランザクショ...
-
DBのレプリケーション(MS SQL S...
-
トランザクション
-
警察はスマホに保存した動画や...
おすすめ情報