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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
存储 SQL 数据库连接
C#程序调用Sql Server存储过程异常处理:调用存储过程后不返回、不抛异常的解决方案
本文分析了C#程序操作Sql Server数据库时偶发的不返回、不抛异常问题,并提出了解决思路。首先解析了一个执行存储过程的函数`ExecuteProcedure`,其功能是调用存储过程并返回影响行数。针对代码执行被阻塞但无异常的情况,文章总结了可能原因,如死锁、无限循环或网络问题等。随后提供了多种解决方案:1) 增加日志定位问题;2) 使用异步操作提升响应性;3) 设置超时机制避免阻塞;4) 利用线程池分离主线程;5) 通过信号量同步线程;6) 监控数据库连接状态确保可用性。这些方法可有效应对数据库操作中的潜在问题,保障程序稳定性。
389 11
|
7月前
|
SQL 分布式计算 资源调度
Dataphin功能Tips系列(48)-如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
215 4
|
SQL Oracle 安全
Oracle的PL/SQL游标异常处理:从“惊涛骇浪”到“风平浪静”
【4月更文挑战第19天】Oracle PL/SQL游标异常处理确保了在数据操作中遇到的问题得以优雅解决,如`NO_DATA_FOUND`或`TOO_MANY_ROWS`等异常。通过使用`EXCEPTION`块捕获并处理这些异常,开发者可以防止程序因游标问题而崩溃。例如,当查询无结果时,可以显示定制的错误信息而不是让程序终止。掌握游标异常处理是成为娴熟的Oracle数据管理员的关键,能保证在复杂的数据环境中稳健运行。
|
SQL Oracle 安全
Oracle的PL/SQL异常处理方法:守护数据之旅的“魔法盾”
【4月更文挑战第19天】Oracle PL/SQL的异常处理机制是保障数据安全的关键。通过预定义异常(如`NO_DATA_FOUND`)和自定义异常,开发者能优雅地管理错误。异常在子程序中抛出后会向上传播,直到被捕获,提供了一种集中处理错误的方式。理解和善用异常处理,如同手持“魔法盾”,确保程序在面对如除数为零、违反约束等挑战时,能有效保护数据的完整性和程序的稳定性。
|
SQL
简述SQL语句的优先级顺序
简述SQL语句的优先级顺序
238 0
|
SQL 安全 关系型数据库
MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏
MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏
MySQL运算符,SQL,算术比较逻辑位,优先级,正则表达式,完整详细可收藏
|
SQL XML 关系型数据库
IDEA SpringBoot SQL连接常见五大异常处理
IDEA SpringBoot SQL连接常见五大异常处理
2341 0
IDEA SpringBoot SQL连接常见五大异常处理
|
SQL 关系型数据库 MySQL
PolarDB-X 1.0-SQL 手册-运算符-运算符优先级
PolarDB-X 中操作符的优先级由高到低,如下所示:
205 0
|
SQL 存储 缓存
根据运算符优先级解析SQL规则表达式
根据运算符优先级解析SQL规则表达式 目录 1.需求 2.知识准备 2.1 运算符优先级解析 2.2 流程分析 3.解决方案 3.1 思路1 3.2 思路2   正文 回到顶部 1.需求 测试数据库使用Greenplum,生产库使用GBase 普通表:存储客户数据,千万级别,结构如下 stat_date代表日期;user_id代表用户id;serial_number代表手机号;A_I72和A_I59是标签字段。
1641 0

热门文章

最新文章