DB

[Oracle] for update

bbuljj 2014. 3. 14. 11:46
1. for update
   1) select 시 for update를 사용하면 다른 사용자가 제어할 수 없게 된다.
     다시 말해 사용자가 commit 이나 rollback 을 하기전까지는 Lock이 걸려 제어가 불가능하게된다.
    (ex) select * from TEST_TABLE where a_key = '1212' for update

2. for update의 옵션
   1) nowait
    - select시 Lock을 제어할수없게되면 에러 처리된다.
    (ex) select * from TEST_TABLE where a_key = '1212' for update nowait

   2) wait second
    - 정해진 시간만큼 Lock을 제어하려 재시도한다.
      재시도 시간이 지나면 에러 처리 된다.
    (ex) select * from TEST_TABLE where a_key = '1212' for update wait 10