Condition Handler
- Syntax
DECLARE [CONTINUE|EXIT] HANDLER FOR
[SQLSTATE sqlstate_code|MySQL error code|condition name]
handler_actions
[SQLSTATE sqlstate_code|MySQL error code|condition name]
handler_actions
핸들러의 종류
- EXIT핸들러
현재 실행중인 블록 중단, outer블럭일 경우 종료됨
- CONTINUE
에러를 발생시킨 문장이 계속 실행됨
핸들러의 조건
- MySQL Error Code : 에러코드를 조건으로 받음
DECLARE CONTINUE HANDLER FOR 1062 SET duplicate_key=1
- ANSI-Standard SQLSTATE code : ANSI SQL 2003 표준 SQLSTATE 코드를 조건으로 받음
DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET duplicate_key=1
- Named Conditions
사용자가 임의로 에러코드에 이름을 부여하여 코드의 가독성을 높인다
DECLARE foreign_key_error CONDITION FOR 1216;
DECLARE CONTINUE HANDLER FOR foreign_key_error SET duplicate_key=1
DECLARE CONTINUE HANDLER FOR foreign_key_error SET duplicate_key=1
SQL 2003에서 빠진 부분
- SQLCODE 또는 SQLSTATE에 대한 직접 접근
- SIGNAL문의 사용
댓글 없음:
댓글 쓰기