位置: 编程技术 - 正文

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转移文件代码)

  • 增值税普票没有税号可以开吗
  • 销售商品价格含税吗
  • 合并资产负债表和合并利润表的区别
  • 增值税科目年末结转可以吗
  • 分公司可以成为单位犯罪的主体吗
  • 企业所得税资产总额怎么算出来的呢
  • 无形资产资本化会计处理
  • 企业接受捐赠的账务处理
  • 支付员工经济补贴怎么算
  • 施工企业确认收入的方法有哪两种
  • 冲去年其他应付款做管理费用凭证
  • 工程施工购买的标示牌怎么开票给甲方
  • 原材料入库单运费要怎么计入?
  • 报废 库存商品
  • 花卉租赁发票税率是多少
  • 跨年发票能否次年入账
  • 小规模纳税人开专票税率是1%还是3%
  • 个体户地税怎么收费
  • 填报退税
  • 退役士兵创业就业政策
  • 水电费没有发票怎么报销
  • 报税报错了怎么办?
  • 银行呆帐坏账
  • 权利许可证照印花税每个月都要交吗
  • 增值税小规模申报表
  • 发票查出来显示不一致是为啥
  • 一般商业企业要缴纳哪些税?
  • 增值税账面和实际缴纳不平,怎样调整
  • 暂估人工成本分录怎么写
  • 建筑业销项税和进项税计算
  • 关于幼儿园会没课程的会刊
  • php面包屑导航
  • the Pura Meduwe Karang神庙中雕刻艺术家W.O.J.Nieuwenkamp的作品,印度尼西亚巴厘岛 (© John Elk III/Getty Images)
  • 公积金补缴需要去柜台吗
  • 外地企业预缴税款流程
  • 往来款怎么查
  • 公司中奖要交税吗
  • 开立异地银行结息通知
  • 对外支付佣金需要扣缴所得税吗
  • paul滑雪
  • php xml转数组
  • 通往海滩的木板有什么用
  • vue项目内html
  • 数据挖掘的四种基本方法
  • html多页面
  • 抵押房产的保险费
  • python的协程
  • php 文件处理
  • 银行结算方式有哪几种?其具体内容是什么
  • sql 自定义字段
  • 现代服务税目包括哪些具体分类
  • 财务报表里的现金流量表括号是什么意思
  • 结转本年利润的账务处理
  • 赠送礼品怎么入账
  • 购买商品加包装怎么入账
  • 什么是盈余公积和资本公积
  • xp系统弹出广告怎么处理
  • Windows开关机音乐-哔哩哔哩biibii
  • Win10系统开机出现问题pin码不可用
  • windows xp如何进入dos
  • winxp怎么自动开机
  • 苹果电脑打不开txt
  • windows任务栏变色
  • linux常用命令touch
  • 微信小程序wx.request实现后台数据交互功能分析
  • jframe背景透明
  • perl中\s+
  • opengl arb
  • python根据ip获取主机名
  • android 动效
  • fullpage.js教程
  • shell定时删除指定目录下的文件夹
  • js扩展名是什么文件
  • js中slice方法的作用
  • python 网络编程总结
  • Java之CyclicBarrier使用
  • 税务举报偷税漏税电话
  • 出口退税的汇率按什么时候的汇率
  • 柳州 税务
  • 上海个体工商户怎么报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设