MySQL 、Sql server 错误处理机制

这篇具有很好参考价值的文章主要介绍了MySQL 、Sql server 错误处理机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

sql server 错误处理机制

try 。。。catch
MySQL 、Sql server 错误处理机制,mysql,adb,android

---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 的字符串类型错误代码。

MySQL 、Sql server 错误处理机制,mysql,adb,android

案例

方式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()

MySQL 、Sql server 错误处理机制,mysql,adb,android

MySQL 、Sql server 错误处理机制,mysql,adb,android

输出特点的错误信息

signal sqlstate ‘xxxx’ set message_text=‘xxxxxxxxxxxx’;文章来源地址https://www.toymoban.com/news/detail-657839.html

到了这里,关于MySQL 、Sql server 错误处理机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Sql server 连接 MySQL

    工具下载 链接:https://pan.baidu.com/s/1729J2ZI8Ov553i1CcVhhmQ 提取码:crjd –来自百度网盘超级会员V5的分享 1.安装vcredist_x64驱动 2.安装mysql-connector-odbc-5.3.14-winx64驱动 3.安装好后,在管理工具-ODBC数据源-系统DSN-添加-选择 MYSQL ODBC 5.3 Unicode DRIVER-完成 Data Source Name:数据源名称 Decription:描述

    2024年02月08日
    浏览(50)
  • (译)MySQL中的slave_exec_mode 参数详解(MySQL从节点跳过复制错误的处理,sql_slave_skip_counter VS slave-skip-errors VS slave_exec_mode)

    原文地址:https://www.soughttech.com/front/article/7159/viewArticle     今天我偶然看到了参数slave_exec_mode。从手册中的描述可以看出,该参数与MySQL复制有关。它是一个可以动态修改的变量。默认为STRICT mode(严格模式),可选值为IDEMPOTENT mode(幂等模式)。 设置为IDEMPOTENT模式可以防止从库

    2024年02月05日
    浏览(34)
  • MySQL内部机制:SQL语句的执行过程浅析

    目录 1. 连接与认证 2. 解析与优化 3. 查询缓存 4. 打开表和读取数据 5. 执行 6. 返回结果 7. 日志记录 8. 关闭连接 当我们在MySQL中执行一个SQL语句时,背后发生了一系列的操作和步骤。下面是一个简化的概述,描述了SQL语句在MySQL中的执行过程或原理: 客户端(如应用程序或命

    2024年03月12日
    浏览(45)
  • Mysql 和Sql Server的区别

    开发商:MySQL由Oracle公司开发,而SQL Server由Microsoft公司开发。 操作系统支持:MySQL可以在多个操作系统上运行,包括Linux、Windows、macOS等,而SQL Server只能在Windows操作系统上运行。 许可协议:MySQL使用GPL(GNU通用公共许可证)许可证,这意味着开发人员可以免费获得MySQL的源代

    2024年02月13日
    浏览(52)
  • SQL Server和MySQL的区别-01

    SQL Server和MySQL是两种不同的关系型数据库管理系统,它们有以下区别: 1. 开发公司:SQL Server是由Microsoft开发和维护,而MySQL则是由Oracle公司开发和维护。 2. 许可证:SQL Server是商业软件,需要购买许可证才能使用,而MySQL是开源软件,可以免费使用。 3. 平台支持:SQL Server只能

    2024年02月15日
    浏览(28)
  • mysql和sql server有什么区别?

    MySQL和SQL Server之间的区别: 1、开源 MySQL是一个开源关系数据库管理系统(RDBMS);而SQL Server不是开源的,是商业的。 2、开发语言不同 mysql:mysql能用几乎所有的其他开发语言,最常用的开发语言是PHP。 sql server:sql server最适合用.net作为开发语言。 3、平台 SQL Server仅支持L

    2024年02月05日
    浏览(39)
  • #SQL常见错误信息表 mysql导入数据出错常见错误

    mysql的出错代码表,根据mysql的头文件mysql/include/mysqld_error.h整理而成。错误之处,请大家指正。 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数

    2024年02月16日
    浏览(36)
  • MySQL----MySQL数据库出现Lost connection to MySQL server during query错误的解决办法

    【原文链接】MySQL----MySQL数据库出现Lost connection to MySQL server during query错误的解决办法 Mysql数据库在查询数据库的时候回报出了如下异常:Lost connection to MySQL server during query,具体异常信息如下: 1、在数据库中查看如下变量的值 可以看到这里的net_read_timeout和net_write_timeout分别

    2024年02月16日
    浏览(43)
  • MySQL错误:Can‘t connect to MySQL server on localhost(分多种情况)

    1 . 查看本机是否可以ping通MySQL服务IP地址 : 2 . 查看MySQL是否允许远程连接 : mysql 设置远程方法1: mysql 设置远程方法2: 开放MySQL 3306端口 : 打开MySQL配置文件: vim /etc/mysql/my.cnf 。 注释掉 bind-address = 127.0.0.1 ,以允许MySQL远程连接。 重启MySQL所在服务端系统: init 6 或 rebo

    2024年02月04日
    浏览(54)
  • mysql 、sql server trigger 触发器

    sql server mySQL NEW与OLD详解 MySQL 中定义了 NEW 和 OLD,用来表示触发器的所在表中,触发了触发器的那一行数据,来引用触发器中发生变化的记录内容,具体地: 在INSERT型触发器中,NEW用来表示将要(BEFORE)或已经(AFTER)插入的新数据; 在UPDATE型触发器中,OLD用来表示将要或已

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包