1.创建错误处理程序,完成以下功能:如果发生错误,则将has_error变量的值设置为1并继续执行。
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET has_error = 1;
【例8-11】创建错误处理程序,完成以下功能:如果发生错误,回滚上一个操作,发出错误消息,并退出当前代码块。 如果在存储过程的BEGIN END块中声明它,则会立即终止存储过程。
DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN ROLLBACK; SELECT 'An error has occurred, operation rollbacked and the stored procedure was terminated'; END;
2.创建错误处理程序,完成以下功能:如果没有更多的行要提取,在光标或SELECT INTO语句的情况下,将no_row_found变量的值设置为1并继续执行。
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_row_found = 1;
【例8-13】创建错误处理程序,完成以下功能:如果发生重复的键错误,则会发出MySQL错误1062。 它发出错误消息并继续执行。
DECLARE CONTINUE HANDLER FOR 1062 SELECT 'Error, duplicate key occurred';