현재 커서와 루프를 통해 로직을 처리하는 프로시저를 사용하고 있습니다.
사용하는 동안 Exception이 발생한 경우는 없었는데 현재 예외처리를 아래와 같이 처리하고 있습니다.
BEGIN OPEN 'CURSOR' FOR (SELECT처리) LOOP FETCH 'CURSOR' BEGIN --루프로 처리할 로직 EXCEPTION (1번. 루프 도는 중 발생하는 예외) END; CLOSE 'CURSOR' EXCEPTION (2번 커서 루프 전체 예외) END;
현재 위와 같은 느낌으로 LOOP 로직에 BEGIN ~ END를 넣어 EXCEPTION을 넣고 LOOP로직을 감싸는 BEGIN ~ END에 EXCEPTION을 또 넣었습니다.
궁금한 부분은 만약 LOOP를 도는 중에 오류가 발생하면 1번 EXCEPTION이 발생할지 2번 EXCEPTION이 발생할지 궁금합니다.
그리고, 저렇게 처리할 필요가 과연 있을지도.. 궁금합니다!
PL/SQL 블럭은 begin ~ end 로 구성되고
이 블럭은 하나 이상의 서브블럭을 포함할 수 있습니다.
이는 단계별 예외처리하기에 매우 유용한 기능입니다.
http://gurubee.net/lecture/1342
답변입니다.
1. 예외는 1번에서 발생
2. 당연히 필요한 기능