프로시져가 동작을 멈춘시간 알아내서 강제 종료하는 방법? 0 2 1,828

by 신재경 [2006.09.28 16:17:18]


안녕하세요.. 제목이 제가 봐도 무슨 얘긴지 모르겠네요.. 죄송...

항상 눈팅으로 좋은 정보 얻어가다가 궁금한 것이 있어서 질문 올리게 되었습니다..

 

프로시져를 생성했는데 이 프로시져는 몇개의 테이블에 insert 하거나 update합니다..

프로시져가 실행된 후 1분이 지나도 종료되지 않으면 강제로 프로시져를 종료하고 에러메세지를 뿌리려고 합니다.. 물론 이때 insert, update는 savepoint까지 rollback해야죠..

 

예)-----------------------------------------------------------

 

Create or Replace Procedure test_proced is

..

..

..

Begin

 

savepoint A;

 

insert into table_A ...;

insert into table_B ...;

 

update table_C set ...;

 

End test_proced;

----------------------------------------------------------------

 

위처럼 프로시져를 생성하고 응용프로그램에서 프로시져 호출해서 돌리는데 정말 가끔씩 update 테이블에 lock이 걸리더라구요..

 

지금은 savepoint A; 위에다 table_C 테이블이 lock 걸렸는지 확인해서 걸려있음 세션을 죽이게 코딩 해놨거든요..

이런 방법 말고 프로시져가 실행된 시간을 체크해서 일정시간이 지나도록 프로시져가 종료되지 않으면 프로시져를 강제 종료시키는 코드를 위 프로시져에 삽입해서 사용할 수 있는 방법은 없을까요??

 

읽어주셔서 감사합니다.. (__)

by 호호 [2006.09.30 00:00:00]
예약작업이면 예약작업 옵션으로 가능할것도 같은데요..

by 신재경 [2006.10.02 00:00:00]
답변 감사합니다..(__)
아쉽게 예약작업이 아니네요.. ^^;;;
꼼수써서 어리버리하게 해결했네요..
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입