본문 바로가기
개발/오라클

오라클 프로시저 synchronized (LOCK) 락 설정

by #무한동력 2020. 6. 17.

오라클에서 프로시저에도 자바의 SYNCHRONIZED 처럼 락을 설정할수있다!

DECLARE
  -- lock 처리 
    LOCKHANDLE   VARCHAR2(128); 
    RETCODE      NUMBER;
BEGIN

DBMS_LOCK.ALLOCATE_UNIQUE('WaveOrderSelectionLock', LOCKHANDLE); 
RETCODE   := DBMS_LOCK.REQUEST(LOCKHANDLE, TIMEOUT => 0, LOCKMODE => DBMS_LOCK.X_MODE);

IF RETCODE <> 0  THEN        
     O_ERR_CD    := 'MSG_00289'; 
     RAISE E_EXCEPTION;
END IF;

RETCODE   := DBMS_LOCK.RELEASE(LOCKHANDLE);

END;

 

댓글