sql异常处理以及sql异常处理优先级

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: sql异常处理以及sql异常处理优先级

sql异常处理以及sql异常处理优先级

一、 sql异常处理


1,error---错误码        sqlState状态值---sqlwarning、not found、sqlexception

 

2,mysql中的异常处理:declare action(continue或exit) handler for

condition(错误码或者错误状态--- not found、sqlExeception、sqlwarning) value statement

(ps: ① continue----继续执行,exit 退出;

        ② statement:可以是一句语句(设置布尔变量的值,也可是打印显示出结果),也可以是多条语句,封装到begin…end结构)

 

2-1,☼  声明异常处理,continue继续执行的情况:

declare continue handler for 【错误状态码/错误状态】+ 设置set 某个布尔变量值=1的语句/打印显示某个结果

 

具体案例:

例1:【错误码】:例如如果出现重复的键值

 异常处理:declare continue handler for1062select ‘1062 重复的键值错误’ ;

 

例2:【错误状态】:not found,例如:

对于游标或者select into 赋值操作,如果出现找不到记录的情况,将变量的值设置为1。      

declare no_row_found int default 0;

 异常处理:declare continue handler for not found set no_found_row=1;

 

例3:【错误状态】:sqlexception,例如:

declare has_error int default 0;

异常处理:declare continue handler forsqlexceptionset has_error = 1;

✿ 总结:一般异常关键字,用sqlexception,如果是游标的话,就用not found。

 

2-2,☼  声明异常处理,exit退出的情况:

具体案例:当遇到错误时,程序回滚操作,并给出错误提示,然后退出当前代码块

 

      异常处理:declare exit handler forsqlexception

      begin

            rollback

             select ‘错误’; #打印错误提示

     end;

 

 

二、mysql 错误处理程序的优先级:


 

mysql一个error都会对应一个错误代码一个sqlState(not found、 sqlWarming、sqlexeception)的状态,可以映射到mysql的多个错误代码(不具体)

 

错误优先级处理:error 最先处理,其次是sqlState,最后是sqlExecption

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
11月前
|
SQL
简述SQL语句的优先级顺序
简述SQL语句的优先级顺序
70 0
|
SQL 安全 关系型数据库
MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏
MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏
337 0
MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏
|
SQL XML 关系型数据库
IDEA SpringBoot SQL连接常见五大异常处理
IDEA SpringBoot SQL连接常见五大异常处理
1244 0
IDEA SpringBoot SQL连接常见五大异常处理
|
SQL Oracle 关系型数据库
|
存储
T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw)
原文:T-SQL编程中的异常处理-异常捕获(try catch)与抛出异常(throw)   本文出处: http://www.cnblogs.com/wy123/p/6743515.html     T-SQL编程与应用程序一样,都有异常处理机制,比如异常的捕获与异常的抛出(try catch throw),本文简单介绍异常捕获与异常抛出在T-SQL编程中的实际使用 。
1833 0
|
SQL Oracle 关系型数据库
|
SQL Perl 数据处理
pl/sql中错误的异常处理
pl/sql中对于错误的处理是很重要的一个部分,就跟写程序中对于异常的处理一样。可能程序中正常的流程实现部分不是很复杂,但是对于各种可能发生的异常情况都需要面面俱到的处理要占一半以上的代码量。
947 0
|
SQL 存储 Oracle
PL/SQL --> 异常处理(Exception)
--================================ -- PL/SQL --> 异常处理(Exception) --================================           Exception是一种PL/SQL标识符,当运行的PL/SQL块出现错误或警告,则会触发异常处理。
944 0