默认情况下,存储程序运行过程中(例如存储过程或者函数)发生错误时,MySQL将自动终止存储程序的执行。存储程序运行过程中发生错误时,数据库开发人员有时希望自己控制程序的运行流程,并不希望MySQL将自动终止存储程序的执行,MySQL的错误处理机制可以帮助数据库开发人员自行控制程序流程。
1.自定义错误处理程序
自定义错误处理程序时需要使用declare关键字,语法格式如下:
declare错误处理类型handler for错误触发条件自定义错误处理程序;
错误处理类型的取值要么是continue,要么是exit。
当错误处理类型是continue时,表示错误发生后,MySQL立即执行自定义错误处理程序,然后忽略该错误继续执行其他MySQL语句。
当错误处理类型是exit时,表示错误发生后,MySQL立即执行自定义错误处理程序,然后立刻停止其他MySQL语句的执行。
错误触发条件:表示满足什么条件时,自定义错误处理程序开始运行,错误触发条件定义了自定义错误处理程序运行的时机。(www.xing528.com)
错误触发条件有3种取值:MySQL错误代码、ANSI标准错误代码以及自定义错误触发条件。例如1452是MySQL错误代码,它对应于ANSI标准错误代码23000,自定义错误触发条件稍后讲解。
自定义错误处理程序:错误发生后,MySQL会立即执行自定义错误处理程序中的MySQL语句,自定义错误处理程序也可以是一个begin-end语句块。
2.自定义错误触发条件
自定义错误触发条件允许数据库开发人员为MySQL错误代码或者ANSI标准错误代码命名,语法格式如下:
3.自定义错误处理程序说明
自定义错误触发条件以及自定义错误处理程序可以在触发器、函数以及存储过程中使用。
参与软件项目的多个数据库开发人员,如果每个人都自建一套错误触发条件以及错误处理程序,极易造成MySQL错误管理混乱。实际开发过程中,建议数据库开发人员建立清晰的错误处理规范,必要时可以将自定义错误触发条件、自定义错误处理程序封装在一个存储程序中。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。