位置: 编程技术 - 正文

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

  • 存货盘亏进项税额转出是什么意思
  • 全额纳税是什么意思
  • 商贸公司成本大吗
  • 车辆维修费发票清单内容
  • 资产处置损益是营业外收入吗
  • 发票查验是什么字体
  • 收购公司财务如何管理
  • 预付的房租计入什么费用
  • 预交增值税设备租赁是否可抵扣
  • 多计提公积金怎么办理
  • 会计录入凭证怎么录入
  • 存货不同入账基数怎么算
  • 职工福利费计提比例一般是多少
  • 增值税专用发票几个点
  • 个人可以开技术服务费发票税率多少
  • 工程已完工又发生了成本怎么处理
  • 财务付款制度及流程图
  • 对公账户在税务局能查到吗
  • 事业单位什么情况下可以提前退休
  • 申报是不是就是报税
  • 融资租入的固定资产视为承租企业的资产体现了什么原则
  • 亏损企业能否享受失业金
  • 办公室装修计入什么科目里
  • 苹果7plus续航
  • 其他债权投资通俗
  • 少数股东权益怎么填
  • 小公司做帐
  • 电脑中毒了怎么弄
  • 网络不通怎么办苹果手机
  • lsm.exe是什么程序
  • lsalss.exe
  • mtask.exe - mtask是什么进程 有什么用
  • vue3.0 element ui
  • 劳务报酬所得与经营所得
  • 代垫运费增值税怎么算
  • php语言之面向对象编程 educoder
  • 路径规划的基本流程和方法
  • php PATH_SEPARATOR判断当前服务器系统类型实例
  • packet命令
  • 广东高速公路过路费官网
  • 服装制造行业成本占比
  • 应收债款的融资属于
  • 公司进项抵税
  • seata1.3.0配置
  • 劳务人员劳务费走薪资还是走报销
  • 月初领票是不是要等到报完税才可以领
  • 软件企业该怎么发展起来
  • sqlserver2012备份
  • 哪些情况需要开具无违法犯罪证明
  • 开专票还是开发票
  • 个体的个人所得税怎么交税?
  • 营改增后增值税增加了什么征收范围
  • 资本化期间专门借款利息费用需将
  • 公司库存现金如何存回银行
  • 工程预付款计入什么科目
  • 微信转账截图可以作为会计凭证吗
  • 商业承兑汇票到期不兑付怎么办
  • 主营业务成本包括工资吗
  • 股东变更需要哪些资料和手续
  • Windows任务计划高级应用
  • 搜索不到WiFi信号是怎么回事
  • win10怎么用键盘重启
  • windows xp远程控制
  • win7开机黑屏只有鼠标安全模式也不行
  • win7 64位系统提示"Windows7不能识别网络打印机"的故障原因及解决方法
  • window10路由
  • linux怎么查看
  • win8 系统设置
  • suse配置网络
  • JAVA的OPENGL,JOGL入门实例----不断变色的点阵 (源代码)
  • linux中shell脚本实验总结
  • linux自动重启程序脚本
  • 发现可疑文件autorun.inf
  • js实现双击屏幕放大
  • python 多线程处理
  • 昌吉市税务大厅
  • 个人所得税选择那种方式更好
  • 地税局上班时间是几点
  • 一般纳税人税务事项告知书在哪里打
  • 广东佛山税务局人工电话是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设