MySQL 、Sql server 错误处理机制

news2025/1/25 4:45:41

sql server 错误处理机制

try 。。。catch
在这里插入图片描述

```sql
---Try Catch  Syntax
BEGIN  TRY
	{<sql statements>}
end TRY
BEGIN Catch
	{<sql> statements}
end catch [;]



####   MySQL    程序错误处理机制
** 定义条件  +   定义处理程序**
定义条件:
>declare 错误名称 condition for  {数值型错误码 | sqlstate ’字符串类错误代码‘}
> 
> 错误码的说明:
> MySQL_error_code  和  sqlstate_value  都可以表示MySQL的错误
> MySQL_error_code  : 是数值型错误代码
> sqlstate_value :是长度为 5 的字符串类型错误代码。
![在这里插入图片描述](https://img-blog.csdnimg.cn/28e8676aa86245fa91e20449aae8a9c9.png)
**案例**
> #  方式1
> declare   Filed_id_PRI  condition for  1062
>  
>  # 方式2
>  declare  Filed_id_PRI  condition for  sqlstate '23000'

**定义处理程序**
可以为SQL执行过程中发生的某种类型的错误定义特殊的处理程序。定义处理程序时,使用declare语句的语法如下:

>declare  处理方式   handler for 错误类型  处理语句;
> 
> 处理方式:  continue、 exit、undo
> continue:表示遇到错误不处理,继续执行
> exit:表示遇到错误,马上退出。  默认就这个
> undo : 表示遇到错误后撤回之前的操作,mySQL 中目前不支持这样操作
>  
>  错误类型 (即条件)
>  SQLSTATE '字符串错误码' :表示长度为 5 的 SQLstate_value 类型的错误代码
>  mysql_error_code :匹配数值类型的错误代码
>  错误名称 :表示  declare    错误名称    condition  for  错误代码   
>  SQLWarning :匹配所有以 01 开头的SQLSTATE错误代码
>  NOT FOUND :匹配所有以 02开头的SQLSTATE错误代码
>  sqlexception:匹配所有 没有被SQLWARINING或NOT FOUND捕获的SQLSTATE错误代码
>   
>   处理语句:
>   如果出现上述条件之一,则采用对应的处理方式,并执行指定的处理语句。语句可以是像
>   set 变量 = 值  这样的简单语句,
>   也可以是使用  begin  。。。。。 end  编写的复合语句
>    
>     
>  案例
>  declare   continue  handler for   {1062 | sqlstate ’23000‘ | Filed_id_PRI  } set  @val=’xxxx‘
>  
>  


**案例**

delimiter $
create procedure pro_1()
begin
declare continue handler for 1062 set @val=‘ares-wang’;
set @x=0;
insert into test_1(id,name) values(1,‘zen’),(2,‘zen’);
set @x=1;
end $
delimiter ;

call pro_1()

![在这里插入图片描述](https://img-blog.csdnimg.cn/aa81e3fbb42a45d086f398be7734b6b8.png)


![在这里插入图片描述](https://img-blog.csdnimg.cn/227fb7cac47b4ef286ed0c3569850087.png)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/894596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

成集云 | 乐享问题邀请同步企微提醒 | 解决方案

源系统成集云目标系统 方案介绍 腾讯乐享是腾讯公司开发的一款企业社区化知识管理平台&#xff0c;它提供了包括知识库、问答、课堂、考试、活动、投票和论坛等核心应用。这个平台凝聚了腾讯10年的管理经验&#xff0c;可以满足政府、企业和学校在知识管理、学习培训、文化建…

Jmeter参数化类型

1.参数在多个请求报文中出现&#xff0c;执行一次需要使用同一个参数--随机生成(随机变更) 2.参数在请求报文中出现&#xff0c;执行过程需要使用同一个参数(--固定参数) 3.参数从指定几个固定中随机获取一个 4.参数从本地文件中获取 5.参数在多个请求报文中出现&#xff0c;每…

和鲸 ModelWhale 与中科可控多款服务器完成适配认证,赋能中国云生态

当前世界正处于新一轮技术革命及传统产业数字化转型的关键期&#xff0c;云计算作为重要的技术底座&#xff0c;其产业发展与产业规模对我国数字经济的高质量运行有着不可取代的推动作用。而随着我国数字上云、企业上云加快进入常规化阶段&#xff0c;云计算承载的业务应用越来…

树莓派的自启动与桌面应用程序

目录 1 打开终端自启动 .bashrc 2 触发时机较早的开机自启动rc.local 3 桌面应用程序 4 触发时机较晚的的开机自启动 autostart 1 打开终端自启动 .bashrc .bashrc的程序也可以在开机时进行自启动&#xff0c;但是每一次打开终端时同样会运行一遍&#xff0c;所以只需…

vue实例挂载过程

以下仅为个人见解。 1.大致流程&#xff1a; new Vue()时会调用initMixin(Vue)将_init挂载到vue原型上&#xff1b;在_init()中调用$mount()方法($mount()方法也是挂载到vue原型上的)编译template模版&#xff0c;并生成render()函数&#xff1b;挂载到vm上后&#xff0c;会…

解决IDEA tomcat控制台只有server日志

解决IDEA tomcat控制台只有server日志 确认tomcatxxx/conf/logging.properties文件是否存在&#xff0c;存在就会有。前提是在run configuration配置了打印多个日志

Bigemap Pro国产基础软件介绍——一款多源数据处理软件

一、软件简介 Bigemap Pro是由成都比格图数据处理有限公司(下称”BIGEMAP”)开发和发行的国产大数据处理基础软件。Bigemap Pro是在BIGEMAP GIS Office基础上&#xff0c;经过十年的用户积累与反馈和技术更新迭代出的新一代基础软件产品。Bigemap Pro国产基础软件集成了数据采…

判断平面中两射线是否相交的高效方法

1. 简介 最近在工作中遇到判断平面内两射线是否相交的问题。 对于这个问题的解决,常规的方法是将两条射线拓展为直线,计算直线的交点,而后判断交点是否在射线上。 这种方法,在思路上较为直观,也易于理解。然后,该方法在计算量上相对较大。对于少量射线间的交点计算尚可…

c语言——分别计算字符串中英文、空格、数字和其它符号的个数

//分别计算字符串中英文、空格、数字和其它符号的个数 #include<stdio.h> int main() {char c;int letters0,spaces0,digits0,others0;printf("输入字符&#xff1a;\n");while((cgetchar())!\n){if((c>a&&c<z)||(c>A&&c<Z))lette…

Python 矢量数据库和矢量索引:构建 LLM 应用程序

推荐&#xff1a;使用 NSDT场景编辑器 助你快速搭建可二次编辑的3D应用场景 由于使用其硬件创建的生成式AI应用程序&#xff0c;Nvidia经历了显着的增长。另一项软件创新&#xff0c;矢量数据库&#xff0c;也正在乘着生成式人工智能的浪潮。 开发人员正在向量数据库上用Pytho…

LocalDate,LocalDateTime,LocalTime开发中基本用法

LocalDate,LocalDateTime,LocalTime开发中基本用法 一 简要说明 package java.time; LocalDate 在ISO-8601日历系统中没有时区的日期&#xff0c;例如 2023-08-19。它是一个表示日期的不可变日期时间对象&#xff0c;常被视为年-月-日。其他日期字段&#xff0c;如年月日&…

UE4/5Niagara粒子特效之拖尾渐变

目录 开始操作 发射器一的制作 添加新的模块 ​编辑 让粒子长久存在 添加颜色 发射器二的制作 第三人称模板添加Niagara 效果 添加颜色 效果 隐藏第一个发射器 开始操作 首先创建一个粒子系统&#xff0c;用Fountain这个模板&#xff1a; 发射器一的制作 将不需要的…

vue上传图片并修改png图片颜色

场景 当涉及到在 Vue 中上传图片并修改 PNG 图片的颜色时&#xff0c;这个任务涵盖了文件上传、图像处理、Canvas 操作等多个方面 在现代 Web 开发中&#xff0c;图片的处理是常见的需求之一。本文将带您深入探讨如何使用 Vue.js 来实现图片上传&#xff0c;并在客户端使用 Can…

奖金丰厚 等你来拿!第六届开源创新大赛飞桨赛道下半场来啦

最近想要充个电&#x1f50b; 飞桨邀你开启开源贡献之旅 寻找那个最“会”的你 顶级开源项目、资深研发指导 高阶开发者合作交流 Buff 叠满&#xff01; 技能提升、丰富简历、高额奖金 你还不心动&#xff1f; 赛事简介 中国软件开源创新大赛已成功举办五届&#xff…

国企数字化办公实践: 泛微助力中国港湾用OA实现营销数字化管理

中国港湾工程有限责任公司(CHEC)成立于上世纪80年代&#xff0c;是世界500强企业中国交通建设股份有限公司(CCCC)的子公司&#xff0c;代表中国交建开拓海外市场。 目前&#xff0c;中国港湾在世界各地设有90多个分(子)公司和办事处&#xff0c;业务涵盖100多个国家和地区&…

网络游戏同步:状态同步核心原理剖析

状态同步是做网络游戏必然要掌握的一种服务端/客户端同步技术。什么是状态同步&#xff0c;具体到游戏中是如何实现的&#xff0c;带着这些问题本文将会从以下3个方面給大家详细的剖析状态同步。 对啦&#xff01;这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小…

【正点原子STM32连载】第十三章 按键输入实验 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第十…

高忆管理:低位缩量上涨说明什么?

在股票商场中&#xff0c;股票价格在低位缩量上涨是一种常见的走势。那么&#xff0c;低位缩量上涨究竟阐明了什么&#xff1f;本篇文章将从多个角度剖析&#xff0c;并给出全文摘要和3个关键词。 一、什么是低位缩量上涨&#xff1f; 低位缩量上涨是指股票价格在前期低点的邻…

jenkins同一jar包部署到多台服务器

文章目录 安装插件配置ssh服务构建完成后执行 没有部署过可以跟这个下面的步骤先部署一遍&#xff0c;我这篇主要讲jenkins同一jar包部署到多台服务器 【Jenkins】部署Springboot项目https://blog.csdn.net/qq_39017153/article/details/131901613 安装插件 Publish Over SSH 这…

angular中如何定义一个全局组件?

需求&#xff0c;我们需要新建一个navBreadcrumb的全局组件。这是一个面包屑导航&#xff0c;在不同的页面引入时传入一个路由数组即可。 第一步&#xff1a;我们新建这个组件&#xff1a; ng g c navBreadcrumb ng g m navBreadcrumb----------nav-breadcrumb.module-------…