位置: 编程技术 - 正文

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

  • 印花税的处理
  • 房产税会计分录怎么写
  • 企业税务包括哪些内容
  • 手撕定额发票不是免税怎么还报税
  • 公司打印银行回单和对账单
  • 什么情况下可要求厂商出品质保证书
  • 消费取得普通发票怎么开
  • 特许权使用费所得包括
  • 增值税电子发票怎么开具流程
  • 重新刻发票章需要什么资料
  • 混合销售行为的含义及税务处理
  • 开加工费的发票该如何抵扣?
  • 专票开户行信息少股份有限公司有影响吗?
  • 出现一窗式比对失败,该纳税人没有防伪税控比对信息!
  • 个人开机械租赁发票需要什么
  • 财税()
  • 政府补贴专项资金如何入账
  • 我的初级备考经历怎么写
  • 营业外支出怎么冲减
  • 外购产品检验流程
  • 固定资产盘亏盘盈账务处理
  • 无票收入报税后,后期又开票出去怎么处理?
  • 用于采购的借款账户
  • 纳税信用等级是自动判定吗
  • 专项应付款形成资产怎么处理账?
  • 现金折扣列题
  • 企业结业后实收资本怎么处理?
  • 老板私车转让给老板
  • 电脑维修中常用的软件
  • 主营业务收到的现金
  • 承兑汇票还款
  • 怎样跳过windows开机更新
  • 债券利息计算表
  • 竣工结算的依据有哪些?
  • php判断两个给定值相同
  • 加利福尼亚riverside
  • 对外投资概述
  • 工业总产值 工业销售产值
  • php验证码显示不出来
  • 固定资产生产经营期间正常报废产生的净收益
  • 增值税代扣代缴税率是多少
  • 前端数据导出为excel
  • 图像深度算法
  • k8s kubelet
  • 红包生成算法
  • 社保单位当月应缴月报查询
  • 进口货物交哪些税费
  • 股东借款属于什么科目
  • 塔吊租赁人工合同
  • 新政府会计制度下,属于资产类科目的是
  • 开具免税的发票,"税率"栏该如何填开?
  • mysql5.5数据库安装教程
  • 什么是一般公共预算财政拨款
  • 印花税如何申请退税
  • 餐饮行业购入农产品
  • 当月预交增值税时所属期选了上期怎么办
  • 员工宿舍的物业费可以抵扣进项税吗
  • 差旅费一般包括往返及当地的交通费
  • 应收应付对冲的分录
  • mysql很卡
  • CentOS中httpd源代码安装与测试步骤分享
  • xp的兼容模式
  • 如何清理浏览器缓存
  • w10开发者模式
  • excel 提示
  • windows10周年更新
  • kdeskcore.exe是什么
  • kmsss.exe是什么
  • 解决linux下set_loginuid failed opening loginuid报错问题
  • windows磁盘工具
  • android 游戏平台
  • jquery 引入js
  • python标准库os中的方法
  • jquery中遍历指定的对象和数组是哪个方法
  • jQuery插件cxSelect多级联动下拉菜单实例解析
  • 国家财政税务局
  • 互城通怎么用微信充值
  • 小规模纳税人改成一般纳税人怎么改
  • 公共基础设施项目所得税优惠目录
  • 深圳市国家税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设