存储过程的使用(四)-- 使用DECLARE 定义条件和处理程序

定义条件和处理程序是事先定义程序执行过程中可能遇到的问题,并且可以在处理程序中定义解决这些问题的办法,可以简单理解为异常处理,这种方式可以提前预测可能出现的问题,并提出解决办法,从而增强程序健壮性,避免程序异常停止。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),转载请注明出处。

你可能感兴趣的:(存储过程的使用(四)-- 使用DECLARE 定义条件和处理程序)