pbj0812의 코딩 일기

[SQL] MySQL 예외처리(exception) 본문

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();

  - 결과

2. 참고 

 - Error Handling using Stored procedure in Mysql 8

Comments