位置: 编程技术 - 正文

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

  • 私立学校要交社保吗
  • 增值税发票阅读器干什么用的
  • 过了纳税期没有申报
  • 小企业会计准则是小规模纳税人吗
  • 固定资产盘点账务处理
  • 折旧额对应纳税所得额的影响
  • 合并报表长期股权投资怎么算
  • 分配现金股利的现金流
  • 个人开利息发票的税率与会计分录
  • 合并报表编织原则
  • 摊销房租账务处理
  • 个人房产税怎么计算
  • 企业购进货物若发生下列事项,其增值税进项税额
  • 补偿金需要缴纳个税分开
  • 怎么修改财务负责人信息
  • 租赁合同印花税怎么交,一年一次吗
  • 走物流的货物如何收费
  • 个人到财务挂账怎么做账
  • 购买东西押金不退要怎么处理
  • 公司租赁汽车
  • 临时文件夹无写入权限这是什么原因
  • iphone和电脑同步
  • php面向对象优点,缺点
  • 吕宋岛以南坐落着21座极大的岛屿
  • 个人所得税有哪些可以减免的项目
  • 应收票据的基本要素包括
  • 实收资本和注册资本不一致的会计处理
  • 招聘下岗职工一名
  • php new
  • 单目测距精度
  • 测试费计入什么会计科目
  • webform前端
  • 嵌入式从业10年,聊聊我对工业互联网和消费物联网的看法 | 文末赠书4本
  • od输出结构
  • 纸质承兑财务章怎么盖
  • 个人独资企业取名规则
  • 以前年度的应交税费贷方怎么调平
  • 奖金属于职工福利吗
  • 教育培训行业人员
  • 企业所得税季度申报表季度平均值
  • 中级报名规则
  • 幼儿园收取的生活费免税吗
  • 销售回扣能计入销售费用吗?
  • 母公司与子公司的法律关系
  • 企业刚注册成功又要注销要什么手续
  • 代扣代缴预提所得税10%是什么意思
  • 企业增值税额
  • 非贸付汇如何缴税
  • 收据和收款收据的法律效力
  • 印花税计提依据业务发生时间还是开票时间?
  • 当你想弥补想还清
  • 保险公司业务员误导客户的后果
  • 有收入有支出怎么求和
  • sql server中删除触发器用
  • mysql8.0 主从
  • mysql 连接语句
  • 搭建docker私有仓库实验报告
  • linux 系统监控
  • window预览
  • linux防火墙命令大全
  • linux怎么开启root权限
  • windows8开发者预览版中文版ISO下载
  • win8电脑d盘不见了怎么恢复
  • 微软windows8.1
  • cocos2dx在暂停某些元素后导致crash问题
  • opengl示例
  • javascript中的eval函数
  • Web2.0下XHTML+CSS 设计需要注意的地方小结
  • 在vue中添加按钮使内容消失
  • javascript resources
  • unity3d怎么让物体依次运动
  • 解决android 11+的保存文件路径问题
  • 如何用jquery
  • 增值税发票综合服务平台登录不了
  • 税控盘开票怎么赋码的教程
  • 拆迁房抵税政策
  • 12366重庆电子税务局
  • 工会和税务局
  • 税务全面从严治党工作会议讲话稿
  • 浙江省地方税务局通用定额发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设