定义条件和处理程序是事先定义程序执行过程中可能遇到的问题,并且可以在处理程序中定义解决这些问题的办法,可以简单理解为异常处理,这种方式可以提前预测可能出现的问题,并提出解决办法,从而增强程序健壮性,避免程序异常停止。MySQL通过DECLARE关键字来定义条件和处理程序。
定义条件
MySQL中可以使用DECLARE关键字来定义条件。其基本语法如下:
-- 条件定义语法
DECLARE condition_name CONDITION FOR condition_value
-- condition_value的定义格式
SQLSTATE [VALUE] sqlstate_value | mysql_error_code
其中,condition_name表示条件的名称,condition_value参数表示条件的类型;sqlstate_value参数和mysql_error_code参数都可以表示MySQL的错误。如常见的ERROR 1146 (42S02)中,sqlstate_value值是42S02,mysql_error_code值是1146,简单案例如下:
-- 定义主键重复错误
-- ERROR 1062 (23000): Duplicate entry '60' for key 'PRIMARY'
-- 方法一:使用sqlstate_value
DECLARE primary_key_duplicate CONDITION FOR SQLSTATE '23000' ;
-- 方法二:使用mysql_error_code
DECLARE primary_key_duplicate CONDITION FOR 1062 ;
本文来源于:宋文超super,专属平台有csdn、思否(SegmentFault)、 简书、 开源中国(oschina),转载请注明出处。
网友评论