• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > Mysql系列(十一)异常处理

Mysql系列(十一)异常处理

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了 Mysql,异常处理等相关知识,希望本文的分享对您有所帮助
Mysql系列(十一)异常处理

DROP PROCEDURE IF EXISTS `SP_MODEL`;
DELIMITER ;;
CREATE PROCEDURE `SP_MODEL`(IN V_TYPE INT)
BEGIN
/**********存储过程模版,结合了·返回自定义错误信息·错误退出··事物回滚·的功能***********/
DECLARE V_TEST INT DEFAULT 0;
DECLARE V_ERR_NO INT DEFAULT 0;
DECLARE V_ERR_MSG VARCHAR(100) DEFAULT '执行成功';
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,SQLWARNING,NOT FOUND SET V_ERR_NO=1;
-- CREATE TABLE `test_error` (
-- `a` int(11) NOT NULL,
-- `b` int(11) DEFAULT NULL,
-- PRIMARY KEY (`a`)
-- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- TRUNCATE TABLE TEST_ERROR;
-- CALL SP_MODEL(1);
-- SELECT * FROM TEST_ERROR;
START TRANSACTION;
Label:-- 执行过程中出现错误则跳出此Label
BEGIN
IF V_TYPE=1 THEN
INSERT INTO TEST_ERROR(a,b) VALUES(1,1);
INSERT INTO TEST_ERROR(a,b) VALUES(1,1);
IF V_ERR_NO=1 THEN
SET V_ERR_MSG='您已经插过啦,别再重复插~';
-- LEAVE Label;
END IF;
SET V_TEST=1;
INSERT INTO TEST_ERROR(a,b) VALUES(3,'a');
IF V_ERR_NO=1 THEN
SET V_ERR_MSG='尺寸不对,插不进来~';
LEAVE Label;
END IF;
INSERT INTO TEST_ERROR(a,b) VALUES(4,1);
SET V_TEST=2;
ELSE
SET V_ERR_MSG='传入参数V_TYPE不正确';
SET V_ERR_NO=1; -- 直接设置此变量值为1,主动抛出异常
LEAVE Label;
END IF;
END Label;
IF V_ERR_NO=1 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
SELECT V_ERR_NO AS ERR_NO,V_ERR_MSG AS ERR_MSG, V_TEST AS TEST; -- 返回执行结果
END
;;
DELIMITER ;

以上就是 Mysql系列(十一)异常处理的内容,更多相关内容请关注微课江湖()!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • redhat 5.4下安装MYSQL全过程
  • 解析mysql中如何获得数据库的大小
  • 解析远程连接管理其他机器上的MYSQL数据库
  • 浅析mysql 语句的调度优先级及改变
  • mysql基础:mysqld_safe 启动执行流程详解
  • Java实现获得MySQL数据库中所有表的记录总数可行方法
  • 解析MySQL中mysqldump工具的基本用法
  • 深入解析mysql.sock不见的问题
  • 基于mysql多实例安装的深入解析
  • 如何解决mysqlimport: Error: 13, Can't get stat of 的问题

相关文章

  • 2018-12-05SQL Server 2000中的触发器使用
  • 2017-05-11linux系统下实现mysql热备份详细步骤(mysql主从复制)
  • 2018-12-05laravel框架中常用目录路径详解
  • 2018-12-05详解MySQL 4G内存服务器配置优化
  • 2018-12-05ORACLE数据库应用开发常见问题及排除
  • 2018-12-05mysql insert的几点操作(DELAYED,IGNORE,ON DUPLICATE KEY UPDAT
  • 2018-12-05MySQL InnoDB和MyISAM数据引擎的差别分析
  • 2018-12-05SQL查询连续号码段的巧妙解法
  • 2018-12-05Oracle Table Demo语句应用介绍
  • 2018-12-05MYSQL教程关于mysql5.7.18的安装和连接教程

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Microsoft SQLServer的版本区别及选择
    • Oracle 数据库自动存储管理-安装配置
    • 有关朦胧图片效果的文章推荐7篇
    • MySQL 字符串函数大全
    • 用SQL语句实现随机查询数据并不显示错误数据的方法
    • mysql中如何配置ssl_key和ssl-cert与ssl-ca的路径以及建立ssl连接的实例
    • 使用navicat 8实现创建数据库和导入数据 管理用户与权限[图文方
    • sql高级技巧几个有用的Sql语句
    • SQL数据操作基础(初级)2
    • MySQL如何设置慢查询日志?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有