오라클 락 FOR UPDATE를 활용한 프로시저 (PRAGMA EXCEPTION_INIT 활용)
프로시저에서 특정 테이블에 FOR UPDATE로 락을 잡은 경우 EX) SELECT * FROM A_TABLE WHERE A = 'ABCD' FOR UPDATE; 트랜잭션 해제(커밋 등) 하기 전에 접근하면 -54번 에러 발생을 함. ORA-00054: resource busy and acquire with NOWAIT specified -- EXCEPTION 변수 선언 USER_SELECT_NOWAIT EXCEPTION; --ORA-00054 에러를 USER_SELECT_NOWAIT 익셉션으로 에러 발생 시킨다. PRAGMA EXCEPTION_INIT(USER_SELECT_NOWAIT, -54); BEGIN SELECT A INTO A_VALUE FROM A_TABLE WHERE A = 'ABCD' F..