本系列文章主要介绍如何捕捉处理MySQL异常以及实战演练展示,参考于MySQL5.6官方文档 和 ZHDBA官网之MySQL数据库的例外处理测试。 7 异常捕捉实战演练A. 特别说明 ① 以定义异常处理中的三种处理方式CONTINUE/EXIT/UNDO为不同点,演示如何定义异常和异常处理; ② 实战演练以存储过程为示例; ③ 示例中的异常触发条件为:SELECT * FROM t;在执行示例的数据库中并不存在t表。 B. 实战演练 ① 异常处理方式为CONTINUE
callsp_test的结果中包含三条语句,第一条语句为SELECT b的输出;然后‘SELECT* FROM t’触发错误编号为1146的异常,此时存储过程中存在对错误编号为1146的异常处理,所以第二条语句为异常处理语句块中SELECT a的输出;由于错误编号为1146的异常处理为CONTINUE,故异常处理后,回到触发异常的下一个语句位置,继续执行,所以第三条语句为SELECT c的输出。 ② 异常处理方式为EXIT
call sp_test的结果中包含两条语句,第一条语句和第二条语句的输出与‘异常处理为CONTINUE’的第一条和第二条语句输出分析一致;由于错误编号为1146的异常处理为EXIT,故异常处理完毕后,跳出当前程序,即该示例中SELECT c并不会被执行。 ③ 异常处理方式为UNDO
由于异常处理UNDO方式不被支持,故创建时会报错。 本文作者:Wing 中华数据库行业协会:中华数据库行业协会由来自北京、杭州、上海、深圳等地的技术精英们联合组织成立。协会致力于数据库开源领域的各项资源的有效整合与分享,为开源社区作出相关的贡献,为业界提供一个纯技术交流的优质平台。 如果您喜欢这篇文章,请点击右上角“...”将本文分享给您的朋友。 搜索微信号“zhdba2014”,或扫描二维码,关注中华数据库行业协会,分享中华数据库行业协会最新动态及更多的互联网信息。 本文转载自:微信公众账号 - zhdba,版权归原作者所有! |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|