![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
ある理由から、以下のようなトランザクションを行っています。
①テーブルAの列BをKey指定でupdateをする
②「①」と同じ条件(where句)で、テーブルAをselectをする
③確認等いろいろ処理をする
④コミットをする
そこで疑問なのですが、「②」の際、まだコミットしていないのに、「②」のselect結果は、「①」のupdate結果が反映された内容になっています。
なぜこういうことになるのでしょうか?
動き的には大変結構ですし、同じトランザクションなんだから、そういうもんだよね、と思うのですが、正しい根拠を知りたいです。
また、裏付けとなる仕様や理屈等が書かれたサイトがあれば、教えていただきたいです。
使用しているDBMSはDB2 Ver10.5です。
よろしくお願いします!
No.1ベストアンサー
- 回答日時:
トランザクションというのはそういうものだからとしかいいようがないかと。
トランザクション内でupdateしたものが一時的に反映されないなら
updateされたことを前提に行うその後の処理が無意味になりますよね
そのためにトランザクションを利用するのですから。
ロックと絡めて排他処理にすればコミットでもロールバックでもとくに
他の参照処理とも不整合にはならないので問題はないでしょう
>トランザクション内でupdateしたものが一時的に反映されないなら
>updateされたことを前提に行うその後の処理が無意味になりますよね
言葉にして頂いてありがとうございます。
全くその通りだと思いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle SQL update方法 2 2022/06/22 14:07
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
コミット前の更新データをチェックするには?
Java
-
一つのトランザクションでSELECTとUPDATEできますか? (ADO.NET)
SQL Server
-
同一トランザクションの中でテーブルの更新結果を参照できるか?
SQL Server
-
-
4
トランザクション中にSELECTした場合について
MySQL
-
5
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
6
SELECT文でのデッドロックに対しての対処方
SQL Server
-
7
実数の整数部,小数部の取得
Visual Basic(VBA)
-
8
GROUP BYを行った後に結合したい。
Oracle
-
9
CloseとDisposeの違い
Visual Basic(VBA)
-
10
データベースのINT型項目にNULLはNG?
MySQL
-
11
同一テーブルのデータを参照してUPDATE
MySQL
-
12
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
13
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
14
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
15
【C#/Java?】try-catchでcatchせずにfinallyは一般的?
その他(プログラミング・Web制作)
-
16
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
17
DBの定義のサイズを大きくし過ぎると問題ある?
その他(データベース)
-
18
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
19
Oracleの排他制御について教えてください
その他(データベース)
-
20
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SAPのSPROって何の略ですか?
-
TPSとは・・・
-
ロールバックとチェックポイン...
-
JDBCのパフォーマンス
-
警察はスマホに保存した動画や...
-
エクセルのフィルタ抽出が固まる
-
dBXL dBASEにお詳しい方を探し...
-
ACCESS2010 Excelエクスポート ...
-
Excelでデータを開こうとすると…。
-
複数のデータベースのバックアップ
-
一つのテーブルだけを復元(リス...
-
Sybase10のデータベースを移行...
-
accessの上限容量2Gでは容量が...
-
Oracle9i(Win)バックアップすべ...
-
外付けのハ-ドディスクの使用...
-
SQL インジェクションは PQexec...
-
SQL Serverへ移行したデータの...
-
SQL*Loaderのコミットポイント...
-
トランザクションログの縮小に...
-
Winrar 分割圧縮 自動?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【DB】同じトランザクション内...
-
postgresql についてです
-
TPSとは・・・
-
dbFailOnError とは?
-
一つのトランザクションでSELEC...
-
Accessdでの「トランザクション...
-
SAPのSPROって何の略ですか?
-
SQL Server 2005トランザクショ...
-
ロールバックとチェックポイン...
-
accessVBAでのワークスペース
-
ADO Connection を再利用する方法
-
SQLserver2000のレプリケーショ...
-
outlookが起動しません。
-
MySQLとPostgleSQL、ど...
-
オラクルのロールバックセグメ...
-
ロールバックとロールフォワー...
-
トランザクション中に別のトラ...
-
OracleのROWIDについて…
-
PHP-オラクルでのトランザクション
-
ロールフォワードとロールバッ...
おすすめ情報