[오라클 PL/SQL] PL/SQL 예외처리 하는 방법
- Database(데이터베이스)/Oracle
- 2019. 11. 30. 01:00
안녕하세요.
오늘은 PL/SQL 작성시, 예외처리 하는 방법에 대해서 알려드리고자 합니다.
오라클에서 예외라 하면 크게 2가지 유형이 있는데요. 오라클에서 발생시키는 시스템 예외와 사용자가 의도적으로 발생시킬 수 있는 사용자 정의 예외 이렇게 2가지 유형의 예외가 있습니다.
그럼 PL/SQL에서 어떻게 예외 처리를 하는지에 대해서 알아 볼게요.
예외처리 구문
EXCEPTION WHEN 예외명1 THEN 예외처리 구문1
WHEN 예외명2 THEN 예외처리 구문2
…
WHEN OTHERS THEN 예외처리 구문n;
예외처리 구문을 보시게 되면 CASE문과 상당히 유사한 구조를 지니고 있습니다. 때문에 이해하시고 사용하시는 것에 대해서는 큰 어려움은 없을 것 같아요.
그럼 이제 실제로 위의 구문을 토대로 예외 처리 코드를 작성해 보도록 할게요.
예외가 있는 PL/SQL 문
1 2 3 4 5 6 |
DECLARE vi_num NUMBER := 0; BEGIN vi_num := 10 / 0; DBMS_OUTPUT.PUT_LINE('SUCCESS!'); END; |
실행 결과
0을 나누려고 하니까, 위와 같은 에러가 발생하게 됩니다.
예외처리 된 PL/SQL 문
1 2 3 4 5 6 7 8 9 |
DECLARE vi_num NUMBER := 0; BEGIN vi_num := 10 / 0; DBMS_OUTPUT.PUT_LINE('SUCCESS!');
EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('에러가 발생하였습니다.'); END; |
실행 결과
위처럼, 오라클에서 던지는 에러 코드가 아닌 EXCEPTION에서 사용자가 직접 정의한 에러코드가 출력돼서 나오는 것을 확인하실 수 있습니다.
감사합니다.^^
'Database(데이터베이스) > Oracle' 카테고리의 다른 글
[오라클 PL/SQL] PL/SQL 커서(Cursor)란? (0) | 2019.12.02 |
---|---|
[오라클 PL/SQL] PL/SQL 예외처리 SQLCODE, SQLERRM 이용하여 예외 처리 하기 (0) | 2019.12.01 |
[오라클 PL/SQL] 프로시저 RETURN 문 사용하기 (0) | 2019.11.29 |
[오라클 PL/SQL] PL/SQL 프로시저 매개변수 IN OUT 이란? (0) | 2019.11.28 |
[오라클 PL/SQL] PL/SQL OUT 매개변수 (0) | 2019.11.27 |
이 글을 공유하기