位置: 编程技术 - 正文

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

  • 税控盘开票软件访问数据库错误
  • 不是公司的车能抵扣进项吗
  • 房地产企业拆迁补偿费契税12366
  • 专家咨询费个人所得税怎么计算
  • 空白作废什么意思
  • 存货的计价方法有哪些,具体内容是什么
  • 不是本单位职工可以报销差旅费吗
  • 冲销上年计提的住房公积金怎么做账
  • 税收奖励需要纳税吗
  • 企业的商誉会一直存在吗
  • 订购维修设备零件怎么做账?
  • 年底分红如何计税
  • 一般纳税人增值税申报操作流程
  • 什么发票可以抵成本
  • 企业债券投资利息怎么算
  • 会计分录如何试算出来的
  • 进项大于销项下月可不可以抵扣
  • 车辆租赁费交的是什么税
  • 事业单位财政应返还额度包括
  • 虚拟机怎么安装iso镜像文件
  • 企业三大期间费用是什么
  • 怎么补去年的税
  • 酒店的啤酒
  • myfastupdate.exe - myfastupdate是什么进程文件 有什么用
  • 数据处理教程
  • vue的自定义指令怎么用
  • 跨行政区域是跨省吗
  • 集群怎么写
  • 微信小程序授权管理在哪里
  • js数组分组并排序
  • 特征提取原理
  • yolov5增加检测层
  • 收到销售方的负债怎么办
  • 人工费按照考虑管理费和利润吗
  • 残疾人就业保障金减免政策2023
  • sql注入漏洞不会出现在哪个位置
  • 销售不动产统一发票英文翻译
  • 利息补缴税款加收利息计算
  • 房地产开发企业成本核算方法
  • sqlserver存储过程在哪里
  • mysql操作步骤
  • MSSQLSERVER不同版本设置开启远程连接(sa配置)
  • sql查看所有数据表
  • 赠送代金券活动方案
  • 实收资本在核算上有哪些要求
  • 应收账款余额要包含应收票据吗
  • 折扣折让红字发票
  • 房屋租赁合同印花税计税依据
  • 房地产成本的概念
  • 收到党建工作经费的通知
  • 房地产企业如何结转成本
  • 营业执照以外的算无证经营吗
  • 办公室装修费用怎么入账
  • 小型润滑油生产设备要哪些
  • 小规模纳税人发票可以抵扣吗
  • 固定资产成本包括什么
  • 启动sqlserver服务的命令
  • sqlserver 触发器 redis
  • MySQL(win7x64 5.7.16版本)下载、安装、配置与使用的详细图文教程
  • window10系统电脑配置
  • 将哪一linux文件系统引入
  • 电脑打开win
  • 电脑xp系统桌面
  • 误删windows
  • window系统桌面
  • windows7凭据管理器
  • 浅谈特殊儿童的融合教育论文
  • 拖拽js实现
  • android如何运行项目
  • celery使用
  • js中递归是什么意思
  • shell脚本 -ne 0
  • unity3d效果图
  • jquery点击按钮修改表格数据
  • python入坑指南
  • 怎么在年报查询个人信息
  • 车辆购置税如何入账
  • 江苏电子税务局电话
  • 辽宁朝阳丧葬费标准2022
  • 医生兼职取酬违反什么纪律
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设