位置: 编程技术 - 正文

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

  • 出口货物退(免)税管理办法
  • 赠与税是什么税种
  • 银行承兑汇票相当于贷款
  • 支付宝商户服务电话
  • 小微企业应纳税所得额超过300万怎么办
  • 信用卡到账手续费
  • 纳税申报方式如何更改
  • 应收账款科目怎么写
  • 服务行业印花税税率
  • 收回多缴税金会计分录
  • 应付票据保证金的会计分录怎么写
  • 2018年小规模优惠政策
  • 折扣折让的销售方式有哪些
  • 公司做账是做什么
  • 企业什么税可以退
  • 开具普通发票只写单位名称和税号可以吗?
  • 工资预支怎么做账
  • 社保公司返还多交的保险费会计分录怎么写?
  • 凭证上附单据多少张怎么看
  • 房地产企业卖出去的房子需要缴纳城镇土地使用税吗
  • 应收账款形成的内部原因和外部原因
  • 用盈余公积弥补职工福利费是什么类型
  • PRISMSTA.EXE - PRISMSTA是什么进程 有什么用
  • 误餐费怎么入账
  • 小微企业免征税额度
  • 德纳里山
  • windows安装无法继续,若要安装请重新启动
  • php各大框架以及实现原理
  • element动态变化表格列
  • unet网络的优缺点
  • php网站配置
  • 委托加工物资验收入库的金额
  • 采用定额法计算产品成本,其程序如何?
  • 转让股权后公司资产
  • phpsql防注入代码
  • 地税没申报罚款多少
  • javascript数据类型
  • win10本地模式
  • 毕业设计基础
  • php文件上传操作流程图
  • 新公司有免税政策吗
  • 收到银行承兑汇票
  • 公务交通通讯补贴
  • 净现值与原始投资额现值
  • 存货暂估入账会计分录
  • php用户登录注册源码
  • 劳务派遣业务如何开展
  • 所有者权益变动表反映的是什么
  • 本月进项税额可以下月抵扣吗
  • 多计提的个税能退回给员工吗
  • 卖出看跌期权的最大损失
  • 合同金额含税么
  • 围挡属于市政还是建筑
  • 资产负债表的固定资产怎么算出来的
  • 产品加工总是会出现问题的,100%合格是不可能的
  • 置换房产流程
  • 上家失控发票补税补不起
  • 建筑企业合理避税
  • 损益类所得税费用
  • 首次计提坏账准备应计入
  • 上月有留抵税额本月怎么申报
  • 其他债权投资减值影响账面价值吗
  • Win10预览版更新弹窗如何关闭
  • Vista系统提高ADSL上网速度的两种设置方法
  • windows u盘制作
  • 电脑进程wsappx是什么
  • linux 数据恢复
  • 批处理常用命令总结
  • 绘制多边形工具使用方法
  • json查询语句
  • javascript开发基础
  • 使用jquery实现的项目
  • python sco
  • 年终绩效奖金发放方案
  • 增值税进项发票如何做账
  • 用电稽查工作总结
  • 员工的生育津贴计入工资总额吗
  • 福建原盐和自然盐有什么区别
  • 企业演讲稿 英文
  • 本科毕业去上海找什么工作好
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设