2009年9月8日 星期二

SQL SERVER TRANSACTION 交易機制


時間序列

Update 1筆資料列,同1個欄位

Connection A

Connection B

<1>

Begin Tran

 

<2>

Select

 

<3>

 

Begin Tran

<4>

 

Select

<5>

 

Update (Success)

<6>

Update (未執行)

 

<7>

 

Commit Tran

<8>

Update (Success)

 

<9>

Commit Tran

 

 

    在未指定任何參數的情況下,select 並不會造成「鎖定」,而是在update時,才會造成以「資料列鎖定」。

    當先執行updateconnection,完成commit rollback的同時,另一connection update才得以繼續執行!

     

沒有留言:

張貼留言