2017-02-11 9 views
0

T1およびT2はSQLトランザクションであるとします。各取引が実行された後のAとBの最終的な値は?SQLトランザクションのシリアル化可能性

AがBには、最初にAが0であり、Bは100
よりも小さくなるようになっている - 、T2は、元のAとBの値を読み出し - T1は、元のAとBの値を読み取り、そして60
に変化Bを20に変更します。
- トランザクションT1とT2の両方で整合性条件 "A < B" ...が保持されますが、AとBの最終値は何ですか?
- これはSerializabilityで起こりますか?

T1とT2の両方が整合性条件を維持していても、この問題はトランザクションT2で検出され、したがってt2が中止されたと考えています。私は最終的な値は60と100だと思います。それは正しいですか?あなたは誰かより多くの洞察力を提供できますか?

答えて

0

AとBが列または変数であるかどうかは不明です。 AとBが列である場合、以下が適用されます。

T1はT1がトランザクションをコミットするまで、テーブルを更新できません。その段階では、A = 60です。整合性条件CONSTRAINTで実行されている場合、T2の更新は失敗します。

関連する問題