位置: 编程技术 - 正文

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

  • 增值税留抵抵欠税政策解读
  • 季节性临时工是不是可以不上社保
  • 房产税从租和从价
  • 增值税专用发票可以开电子发票吗
  • 小规模纳税人季度申报
  • 高新技术企业入库难吗
  • 一般纳税人软件销售税率
  • 两金占流动资产比重
  • 国有独资企业交企业所得税规定
  • 公司成立时代垫资合法吗
  • 资本公积的核算内容不包括
  • 一个公司帮另一个公司代付款
  • 货样广告品出口需要开票吗
  • 土地使用证明可以补办吗
  • 日用品增值税税率
  • 季度企业所得税申报表怎么填写
  • 税控盘减免在哪里填报
  • 营改增后一般纳税人动产租赁税率
  • 研发支出期末列报
  • 保洁属于劳务报酬吗
  • 个人从价计征房产税
  • 公司注册资金抽逃
  • saproxy.exe - saproxy是什么进程 有什么用
  • win10电脑如何设置锁屏时间
  • 购买礼品的会计科目
  • win10怎么打开移动中心
  • 教程图怎么做
  • 安装adsl modem必须安装什么协议
  • navapp.exe - navapp是什么进程文件 作用是什么
  • php字符串定义
  • 挂证不付工资只代缴社保账务处理
  • 小规模纳税人清卡是每月一次吗
  • 购入材料会计分录怎么写
  • php fopen()
  • yii2开发文档
  • laravel中的session有效期
  • php实现邮箱验证码
  • 公司亏损注销了怎么处理
  • 协会收到的政府奖励会计处理
  • php数据的提交与采集实验报告
  • dematel模型有什么缺点
  • 应纳税所得额100-300万税率
  • 预缴税款为什么不能跨月申报
  • 个税显示申报成功是不是就可以了
  • 收购公司款项的会计处理
  • 修理费账务处理
  • 建筑公司预收工程款
  • 一般纳税人商贸企业的税负是多少
  • 销售赠送赠品会计处理
  • 盖骑缝章的合同可以双面打印吗
  • 未使用的固定资产计提折旧计入什么科目
  • 税控设备维护费会计分录
  • 费用误计入固定资产
  • 生产型企业的主要绩效考核指标
  • 新成立的公司购买的家具可以计入主营业务成本吗
  • 税金及附加科目借贷方向
  • 汽车属于固定资产吗?如何计提折旧
  • mysql深入解析
  • 苹果电脑邮箱添加163邮箱
  • win10更新后自动锁定
  • win101607怎么升级1903
  • win7无线无法连接怎么办
  • 如何避免升级为查帐征收
  • 虚拟机里面如何设置网络
  • win8的控制面板在哪里打开
  • 基于jQuery的设计与实现
  • unity优化方案
  • shell的简单实现
  • linux BASH shell下设置字体及背景颜色
  • 编写批处理
  • 消耗cpu的软件
  • unity3d c++开发
  • python语言解析
  • javascript基于
  • mailto的使用技巧分享
  • unity全景
  • listview报错
  • python convexhull
  • 辽宁新农合怎么停保
  • 留抵税额退税政策2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设