본문 바로가기
공부/프로그래밍

Mysql procedure(프로시저) 에러처리 하기.

by demonic_ 2017. 4. 14.
반응형

### SQL 에러가 발생시에 에러 발생여부를 저장하기 위한 변수 지정

declare M_ERR INT DEFAULT 0;    



### 만약 SQL 에러가 났을때 잡아야 할 핸들러

# 에러가 발생하면 -1 이라는 값이 들어간다.

DECLARE CONTINUE HANDLER for SQLEXCEPTION SET M_ERR = -1;



START TRANSACTION;

INSERT INTO table_name VALUES ('1', '2');

INSERT INTO table_name VALUES ('1', '3');



### SQL문을 수행하다 에러가 발생했다면 M_ERR 에 '-1' 이란 값이 들어감.

IF M_ERR < 0 THEN         # 에러가 발생한 경우

ROLLBACK;

ELSE                             # 정상처리 된 경우

COMMIT;

END IF;




반응형

댓글