핸들러 문법은 다음과 같다.
DECLARE handler_type HANDLER FOR condition_value[,...] statement
condition_value 에는 mysql_error_code나 SQLSTATE, DECLARE CONDITION 으로 선언된 condition_name이 들어갈 수 있다
SQLWARNING, NOT FOUND, SQLEXCEPTION 이라는 세가지 축약형도 condition_value 로 사용 가는한데 이는 각각
SQLWARNING - 01로 시작되는 모든 SQLSTATE
NOT FOUND - 02로 시작되는 모든 SQLSTATE
SQLEXCEPTION - 위의 두가지가 아닌 모든 SQLSTATE
를 정의한 시스템 전역 condition_name 이다.
본론으로 들어가서
MySQL 5.5.15 에서 DECLARE HANDLER FOR SQLWARNING 핸들러에서 SQLSTATE 02000(Error:
DECLARE handler_type HANDLER FOR condition_value[,...] statement
condition_value 에는 mysql_error_code나 SQLSTATE, DECLARE CONDITION 으로 선언된 condition_name이 들어갈 수 있다
SQLWARNING, NOT FOUND, SQLEXCEPTION 이라는 세가지 축약형도 condition_value 로 사용 가는한데 이는 각각
SQLWARNING - 01로 시작되는 모든 SQLSTATE
NOT FOUND - 02로 시작되는 모든 SQLSTATE
SQLEXCEPTION - 위의 두가지가 아닌 모든 SQLSTATE
를 정의한 시스템 전역 condition_name 이다.
본론으로 들어가서
MySQL 5.5.15 에서 DECLARE HANDLER FOR SQLWARNING 핸들러에서 SQLSTATE 02000(Error:
1329 SQLSTATE: 02000 (ER_SP_FETCH_NO_DATA) Message: No data - zero rows fetched, selected, or processed) 이 검출되서 핸들러가 실행되는 상황이 발생한다.