Adaptive Server Anywhere 9.0
ODBI=2 (READ_COMMITTED)LockTimeout=2 (X_DBMENV.DAT)

WITH_KEY IOアクセス

 

ステップ

アクション (ユーザー)

IO$STS

メッセージ

1

挿入 (1)

OK

IOオペレーションは成功しました。

2

挿入 (2)

VE

レコードは既に存在します。

3

削除 (2)

ER

レコードはロックされました。

4

コミット (1)

 

 

5

更新 (1)

OK

IOオペレーションは成功しました。

6

更新 (2)

ER

レコードはロックされました。

7

フェッチ (1)

ER

レコードはロックされました。

8

フェッチ (2)

ER

レコードはロックされました。

9

コミット (1)

 

 

10

削除 (1)

OK

IOオペレーションは成功しました。

11

挿入 (2)

ER

レコードはロックされました。

12

更新 (2) 削除 (2)

NR

レコードは見つかりませんでした。

13

コミット (1)

 

 

 

 

ASAは、トランザクションの分離レベルがREAD_COMMITTEDに設定されているにもかかわらず、他のユーザーのコミットされていないアクションがあるかのように機能することに注意してください。

最後のレコード読み取り IO アクセス

最後のレコード読み取りの更新または削除の前に読み取るレコードが必要なため、これは異なる一連のステップになります。したがって、エラーが発生するとステップ13のように再度レコードをフェッチする必要があります。

ステップ

アクション (ユーザー)

IO$STS

メッセージ

1

挿入 (1)

OK

IOオペレーションは成功しました。

2

挿入 (2)

VE

レコードは既に存在します。

3

コミット (1)

 

 

4

フェッチ (1)、フェッチ (2)

OK

IOオペレーションは成功しました。

5

更新 (1)

OK

IOオペレーションは成功しました。

6

更新 (2)

ER

レコードはロックされました。

7

フェッチ (1)

ER

レコードはロックされました。

8

フェッチ (2)

ER

レコードはロックされました。

9

コミット (1)

 

 

10

Fetch (1)、Fetch (2)

OK

IOオペレーションは成功しました。

11

削除 (1)

OK

IOオペレーションは成功しました。

12

挿入 (2)

ER

レコードはロックされました。

13

フェッチ (2) 更新 (2)、フェッチ(2) 削除(2)

NR

レコードは見つかりませんでした。

14

コミット (1)

 

 

 

 

ステップ13では、レコードが見つからないため更新および削除は進みません。