位置: 编程技术 - 正文

MySQL定义异常和异常处理详解(mysql定义语句)

编辑:rootadmin

推荐整理分享MySQL定义异常和异常处理详解(mysql定义语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql定义条件和处理过程,mysql自定义异常处理,mysql自定义异常处理,mysql定义语句,mysql定义变量报错,mysql定义变量报错,mysql定义语句,mysql定义变量报错,内容如对您有帮助,希望把文章链接给更多的朋友!

在MySQL中,特定异常需要特定处理。这些异常可以联系到错误,以及子程序中的一般流程控制。定义异常是事先定义程序执行过程中遇到的问题,异常处理定义了在遇到问题时对应当采取的处理方式,并且保证存储过程或者函数在遇到错误时或者警告时能够继续执行。

1 异常定义

1.1 语法

DECLARE condition_name CONDITION FOR [condition_type];

1.2 说明

condition_name参数表示异常的名称; condition_type参数表示条件的类型,condition_type由SQLSTATE [VALUE] sqlstate_value|mysql_error_code组成:

sqlstate_value和mysql_error_code都可以表示MySQL的错误; sqlstate_value为长度为5的字符串类型的错误代码; mysql_error_code为数值类型错误代码;

1.3 示例 定义“ERROR ()”错误,名称为command_not_allowed。可以有以下两种方法:

2 自定义异常处理

2.1 异常处理语法

DECLARE handler_type HANDLER FOR condition_value [,...] sp_statement

2.2 参数说明

MySQL定义异常和异常处理详解(mysql定义语句)

handler_type: CONTINUE|EXIT|UNDO

handler_type为错误处理方式,参数为3个值之一; CONTINUE表示遇到错误不处理,继续执行; EXIT表示遇到错误时马上退出; UNDO表示遇到错误后撤回之前的操作,MySQL暂不支持回滚操作;

condition_value: SQLSTATE [VALUE] sqlstate_value| condition_name|SQLWARNING|NOT FOUND|SQLEXCEPTION|mysql_error_code

condition_value表示错误类型; SQLSTATE [VALUE] sqlstate_value为包含5个字符的字符串错误值; condition_name表示DECLARE CONDITION定义的错误条件名称; SQLWARNING匹配所有以开头的SQLSTATE错误代码; NOT FOUND匹配所有以开头的SQLSTATE错误代码; SQLEXCEPTION匹配所有没有被SQLWARNING或NOT FOUND捕获的SQLSTATE错误代码; mysql_error_code匹配数值类型错误代码;

2.3 异常捕获方法

3 综合示例

创建一个表,设置该表的主键,在不定义异常处理和定义异常处理情况下看执行到哪一步。

示例1:不定义异常情况下

调用存储过程与结果:

注意:操作示例2前要清空表中数据,并退出重新登录,以免客户端变量@x影响,详细说明参见结论中的第一点。

示例2:定义异常处理情况下:

调用存储过程与结果:

说明与结论:

一、MySQL中,@var_name表示用户变量,使用SET语句为其赋值,用户变量与连接有关,一个客户端定义的变量不能被其他客户端看到或者使用。当客户端退出时,该客户端连接的所有变量将自动释放。

二、在示例1中,由于注释了异常的声明”",此时向表中插入相同主键,就会触发异常,并且采取默认(EXIT)路径;且查看此时的@x返回2,表示下面的INSERT语句并没有执行就退出了.

三、定义了异常处理,此时遇到错误也会按照异常定义那样继续执行;但只有第一条数据被插入到表中,此时用户变量@x=3说明已经执行到了结尾;

标签: mysql定义语句

本文链接地址:https://www.jiuchutong.com/biancheng/349258.html 转载请保留说明!

上一篇:mysql 报错This function has none of DETERMINISTIC解决方案(mysql 报错1045)

下一篇:Linux中更改转移mysql数据库目录的步骤(linux转移文件代码)

  • 企业所得税亏损弥补的规定
  • 待抵扣进项税的账务处理
  • 小规模纳税人不开票收入怎么报增值税
  • 增值税普票税额怎么算出来的
  • 商品进销差价在贷方代表什么
  • 没有认证的发票怎么做分录
  • 增值税都有哪些科目
  • 车辆报废补贴多久到账
  • 资产减少应注意的问题有哪些?
  • 税法上的营业收入与会计差异
  • 购买车间用的材料怎么做分录
  • 个体户需不需要开立对公账户
  • 增值税附加税可以抵扣吗?
  • 工会经费的计税依据怎么算
  • 在外地的分公司可以独立核算开发票吗
  • 工业企业该怎样建账?
  • 生产企业开具加工费发票的问题
  • 所得税汇算成本调减会计分录
  • 个体户酒店服务业个税税率
  • 查账征收的企业所得税什么时候开始汇算
  • 企业所得税汇算表
  • win10安全中心通知关闭
  • php有啥用
  • 补交社保如何做账务处理
  • php数组函数题目
  • php获取中文字符串长度
  • 收入的特征包括什么
  • 投资性房地产出售时其他综合收益
  • 企业所得税纳税标准
  • php xml
  • 房地产开发企业销售自行开发的房地产项目
  • 应收账款账务处理及案例分析
  • 座头鲸救人
  • Smarty3配置及入门语法
  • 个体户可以不办公户吗
  • 有关的拼音
  • 固定资产清理的借贷方向表示什么
  • 个人终止投资经营的条件
  • 个人所得税汇算清缴时间
  • 织梦自定义字段
  • 进账加计抵减政策
  • 房屋租金的摊销怎么算
  • 金税盘长期不使用
  • 金税四期的主要功能
  • 有限合伙企业的税收筹划
  • 固定资产盘亏账务处理的问题
  • 机场员工家属机票
  • 境外分回的股息在本国抵免限额怎么算
  • 我国税收税类中的流转税
  • 零售商品收入
  • 在建工程领用原材料
  • 兼职会计如何做账报税
  • 分公司开票总公司付款可以吗
  • 怎么看发票的凭证号
  • 对公转账需要填写开户行吗
  • 弥补上年亏损所需的资金
  • 公司增资需要哪些材料
  • sql如何截取字段
  • sql中的视图提高了数据库的
  • mysql支持的数据类型主要有哪几类
  • 扩展卷不相邻怎么办
  • linux命令提示符不见了
  • mac死机按什么都没用
  • 登录系统错误
  • 怎样让xp系统变得更加流畅
  • windows更新88
  • centos删除virbr0
  • linux在网络方面的应用
  • 批处理文件.bat
  • 如何用css画三角形
  • 摄像机跟随与摄像的区别
  • javascript零基础学要学多久
  • linux7 snmp
  • 局域网远程开机与远程唤醒
  • node.js快速入门
  • python socket sendto
  • jquery文档处理有哪些
  • 江苏网上税务局官网登录
  • 郝姓家谱辈分查询
  • 非中山户籍学生可以自己买医保吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设