ComputerLanguage_Program/SQL
[SQL] MySQL 예외처리(exception)
pbj0812
2020. 8. 25. 01:50
0. 목표
- MySQL exception을 통한 예외처리
1. 실습
1) 에러 확인을 위한 프로시저 생성
- pbj_db.abcdefghijklmnop 테이블에 현재 시각을 입력하고 출력하는 프로시저
- 실제로 위 테이블은 존재하지 않음
DELIMITER $$
CREATE PROCEDURE pbj_db.exception_test()
BEGIN
INSERT INTO pbj_db.abcdefghijklmnop(datetime) (
SELECT NOW()
);
END $$
DELIMITER ;
2) 에러 확인
call pbj_db.exception_test();
- 결과(1146 에러 발생)
3) 프로시저 삭제
DROP procedure pbj_db.exception_test;
4) 예외처리한 프로시저 생성
- 1146 에러가 발생할 시 ERROR!!! 출력
DELIMITER $$
CREATE PROCEDURE pbj_db.exception_test()
BEGIN
DECLARE CONTINUE HANDLER FOR 1146
SELECT 'ERROR!!!';
INSERT INTO pbj_db.abcdefghijklmnop(datetime) (
SELECT NOW()
);
END $$
DELIMITER ;
5) 확인
call pbj_db.exception_test();
- 결과