iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL异常处理的示例分析
  • 694
分享到

MySQL异常处理的示例分析

2024-04-02 19:04:59 694人浏览 独家记忆
摘要

这篇文章给大家分享的是有关Mysql异常处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。针对存储过程 、触发器或函数内部语句可能发生的错误或警告信息,需要进行相关异常

这篇文章给大家分享的是有关Mysql异常处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

针对存储过程 、触发器或函数内部语句可能发生的错误或警告信息,需要进行相关异常或称 例外的捕捉,然后作出相应的处理,异常处理的方式如下:

DECLARE {CONTINUE | EXIT} HANDLER FOR {sqlSTATE sqlstate_code| mysql error code| condition_name} handler_actions

说明:
· Handler type (CONTINUE, EXIT) :处理类型,继续或退出
· Handler condition (SQLSTATE, MySQL error code, named condition) :触发条件
· Hander actions(错误触发的操作) 
注意:a、 exit只退出当前的block。
         b、 如果定义了handler_action,会在continue或exit之前执行。 

发生错误的条件有

  · mysql错误代码

  · ANSI-standard SQLSTATE code.  具体可见:Http://dev.mysql.com/doc/refman/5.6/en/error-messages-server.html

  · 命名条件,可自定可使用系统内置的SQLEXCEPTION, SQLWARNING,和 NOT FOUND.

当同时使用MySQl错误码,标准SQLSTATE错误码,命名条件(SQLEXCEPTION)来定义错误处理时,其捕获顺序是(只可捕获一条错误):

MYSQL码->SQLSTATE->命名条件

作用域:

begni..end内,哪果错误处理定义在begin ... end内,则在该begin...end之外的错误不会被捕获。

它能够捕获其它储过程的错误。

关于作用域,以如下过程为例

  1. drop table nums;    

  2. drop procedure pCreateNums;  

  3.     

  4. CREATE TABLE nums (  

  5.     id INT NOT NULL PRIMARY KEY,  

  6.     b INT NOT NULL  

  7. );    

  8.     

  9. delimiter $$    

  10. create procedure pCreateNums(cnt int)    

  11. begin  

  12.       

  13.     begin    

  14.     declare continue handler for sqlexception rollback;   

  15.         start transaction;    

  16.         insert into nums(id,b) values(cnt+1,1);        

  17.         insert into nums(id,b) values(cnt,null);    

  18.         insert into nums(id,b) values(cnt+2,1);        

  19.         commit;  

  20.     end;  

  21.     insert into nums values(100,100);    

  22.     select * from nums;  

  23. end $$    

  24. delimiter ;  

  25.   

  26. call pCreateNums(10);  


nums表b字段为非空.
内部的begin end 由一个异常处理的定义,类型为continue
那么在执行到下面sql的时候

  1.         insert into nums(id,b) values(cnt,null);    


触发异常处理,回顾了之前的SQL
但是后面的SQL继续执行.
外层的begin end块也会执行.
结果如下:
mysql> call pCreateNums(10);
+-----+-----+
| id  | b   |
+-----+-----+
|  12 |   1 |
| 100 | 100 |
+-----+-----+
2 rows in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

如果异常处理为Exit类型,则内层begin end 块回滚,内层其余SQL不再执行,
但是外层的SQL不受影响.因为异常处理是定义在内层的.
这就是异常处理的作用域.
结果如下:
mysql> call pCreateNums(10);
+-----+-----+
| id  | b   |
+-----+-----+
| 100 | 100 |
+-----+-----+
1 row in set (0.01 sec)
Query OK, 0 rows affected (0.01 sec)


当然,如果异常处理定义在外层。他的作用域就是整个过程.

感谢各位的阅读!关于“MySQL异常处理的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL异常处理的示例分析

本文链接: https://www.lsjlt.com/news/63111.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL异常处理的示例分析
    这篇文章给大家分享的是有关MySQL异常处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。针对存储过程 、触发器或函数内部语句可能发生的错误或警告信息,需要进行相关异常...
    99+
    2022-10-18
  • MySQL游标和异常处理的示例分析
    这篇文章给大家分享的是有关MySQL游标和异常处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。复杂异常处理drop procedure ...
    99+
    2022-10-18
  • React16中异常处理的示例分析
    这篇文章主要介绍React16中异常处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!异常处理在 React 15.x 及之前的版本中,组件内的异常有可能会影响到 Reac...
    99+
    2022-10-19
  • Java中异常处理的示例分析
    这篇文章主要介绍Java中异常处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!异常的定义在java中,异常就是java在编译、运行或运行过程中出现的错误总共有三种:1.编译错误 2.运行错误 3.逻辑错误...
    99+
    2023-06-25
  • Go语言异常处理的示例分析
    这篇文章主要为大家展示了“Go语言异常处理的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Go语言异常处理的示例分析”这篇文章吧。异常处理程序运行时,发生的不被期望的事件,它阻止了程序按...
    99+
    2023-06-20
  • YII2全局异常处理的示例分析
    这篇文章主要介绍了YII2全局异常处理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先,我们必须理性认识到,任何一个即使稳定的系统中也是存在着大量的 bug,不管...
    99+
    2023-06-14
  • Python异常处理机制的示例分析
    这篇文章将为大家详细讲解有关Python异常处理机制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是异常?def num(a, b):   ...
    99+
    2023-06-22
  • Java异常处理机制的示例分析
    这篇文章给大家分享的是有关Java异常处理机制的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.初识异常我们在写代码的时候都或多或少碰到了大大小小的异常,例如:public class&nbs...
    99+
    2023-06-26
  • SpringMVC全局异常处理的示例分析
    这篇文章主要介绍SpringMVC全局异常处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!全局异常实现方式 Spring MVC 处理异常有 3 种方式1.使用 Spring MVC 提供的简单异常处理器...
    99+
    2023-06-02
  • Java中异常处理机制的示例分析
    这篇文章给大家分享的是有关Java中异常处理机制的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。  你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能...
    99+
    2023-06-03
  • python异常时语句处理的示例分析
    这篇文章给大家分享的是有关python异常时语句处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌...
    99+
    2023-06-14
  • Golang中异常处理机制的示例分析
    小编给大家分享一下Golang中异常处理机制的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言通常我们需要编写好的错误处理方式,在了避免某些程序员滥用异...
    99+
    2023-06-15
  • C语言异常处理机制的示例分析
    这篇文章将为大家详细讲解有关C语言异常处理机制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。异常处理机制:setjmp()函数与longjmp()函数  C标准库提供两个特殊的函数:setjmp...
    99+
    2023-06-20
  • SpringMVC异常处理机制与自定义异常处理方式的示例分析
    这篇文章主要介绍SpringMVC异常处理机制与自定义异常处理方式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!提到异常处理,就不得不提HandlerExceptionResolvers,我们的Dispat...
    99+
    2023-06-25
  • SpringMVC异步处理的示例分析
    这篇文章主要介绍SpringMVC异步处理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!异步处理 demo如果要启用异步返回,需要开启 @EnableAsync。如下的代码中,使用 DeferredResu...
    99+
    2023-06-17
  • Python异常处理实例分析
    这篇文章主要讲解了“Python异常处理实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python异常处理实例分析”吧!那么什么是异常呢?举个例子:这里当然假设用户的输入是正确的,但...
    99+
    2023-07-02
  • Python异常处理举例分析
    这篇文章主要讲解了“Python异常处理举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python异常处理举例分析”吧!异常处理在项目开发中,异常处理是不可或缺的。异常处理帮助人们d...
    99+
    2023-06-02
  • Java异常处理之陋习展播的示例分析
    这篇文章主要介绍了Java异常处理之陋习展播的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1 OutputStreamWriter out = ...2 java....
    99+
    2023-06-03
  • Java异常处理操作Throwable、Exception、Error的示例分析
    这篇文章主要介绍了Java异常处理操作Throwable、Exception、Error的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。异常是一个事件,它发生在程序运...
    99+
    2023-06-15
  • Spring框架中异常处理情况的示例分析
    这篇文章主要为大家展示了“Spring框架中异常处理情况的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring框架中异常处理情况的示例分析”这篇文章吧。1.编写一个类,实现Hand...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作