位置: 编程技术 - 正文

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

  • 营业税金及附加计算公式
  • 企业分红缴纳所得税
  • 分公司可以享受当地优惠吗?
  • 企业收到财政局退款需要开票吗
  • 出口退税发票未稽核可以申报退税吗
  • 销货清单是否需盖章
  • 收款凭证填写模板下载
  • 商业银行税前收益率
  • 应收账款未收到是否要交税
  • 上年减值准备收回如何做账务处理呢?
  • 传媒公司发传单
  • 短期借款超过一年未归还转到哪会计视野
  • 企业利息收入会计分录怎么做
  • 税控系统维护费账务处理
  • 林木育种的意义和作用
  • 企业征地补偿支出需要什么凭据做账?
  • 进项票不足
  • 铲车费属于劳务费吗
  • 个人投资收益要交所得税吗
  • 出口退税的城建税和教育费附加怎么算
  • 金融行业信托
  • 计提工资是计提当月的还是上个月的
  • 支付固定资产运杂费计入什么科目
  • 外购商品可以直接结转成本吗
  • window10如何设置休眠时间
  • 苹果推送最新系统怎么弄
  • 财政应返还额度是什么意思?
  • php基本操作
  • print-js
  • 税控机动车销售统一发票抵扣
  • 车辆违章罚款的钱上交到那了
  • 政府补助财务处理流程
  • 班夫国家公园最佳旅游时间
  • vue中el-dialog
  • 前端大屏常用的输入法
  • 阿查法拉亚盆地牡蛎
  • docker的常用命令汇总
  • 报税系统清卡成功状态
  • 万元版和十万元版发票图片
  • 工程施工新科目
  • 既开发票又开收据是有财务风险吗?
  • 个体户取现金的几种方法
  • 金税四期对企业的好处
  • 管理费用漏记了跨年调整
  • 中级财务会计报告心得体会
  • 工会应付下级经费
  • 向非关联企业捐赠现金
  • 公司组织员工旅游需要交个税吗
  • 设备安装成本怎么结转
  • 预缴增值税税款所属期
  • 工程结算怎么结转收入
  • 普票丢失可以用复印件入账吗
  • 购货方享受现金折扣增值税
  • 销户还能申请抚养费吗?
  • 商业企业固定资产一次性扣除
  • mysql5.7.29安装
  • mysql 5.7.13 winx64安装配置教程
  • oracle基础知识
  • win7 系统启动
  • dos命令提示符窗口怎么打开
  • linux cwd
  • 怎么取消win8.1开机密码
  • imac家长控制
  • win7自动升级失败后的处理
  • win7系统浏览器打不开网页怎么办
  • 如何在win7系统中查看电脑基本信息
  • win8系统摄像头在哪里打开
  • unity4.1
  • perl使用保留字引用什么模块
  • jquery 滑块
  • 使用node.js实现用IP地址查询天气情况
  • ubuntu列出用户
  • 基于JAVASCRIPT实现的可视化工具是
  • node exit
  • Python装饰器入门学习教程(九步学习)
  • js扩展名是什么文件
  • jquery弹出页面窗口
  • androidstudio快速入门
  • 罗湖税务局在哪
  • 非房地产企业转让旧房土地增值税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设