분류없음2011/12/09 14:45
핸들러 문법은 다음과 같다.

 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) 이 검출되서 핸들러가 실행되는 상황이 발생한다.

 
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 후후쇼