美文网首页MYSQL
MYSQL记录存储过程SQL异常错误信息

MYSQL记录存储过程SQL异常错误信息

作者: 说你还是说我 | 来源:发表于2018-08-11 14:54 被阅读0次

最近接触到mysql的存储过程,主要用于统计数据。

此外需要记录存储过程的执行状态,异常日志。
MYSQL手册描述(https://dev.mysql.com/doc/refman/5.6/en/get-diagnostics.html)

CREATE PROCEDURE do_insert(value INT)
BEGIN
  -- Declare variables to hold diagnostics area information
  DECLARE code CHAR(5) DEFAULT '00000';
  DECLARE msg TEXT;
  DECLARE rows INT;
  DECLARE result TEXT;
  -- 声明异常处理
  DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
    BEGIN
      -- 获取异常code,异常信息
      GET DIAGNOSTICS CONDITION 1
        code = RETURNED_SQLSTATE, msg = MESSAGE_TEXT;
    END;

  -- 执行插入语句
  INSERT INTO t1 (int_col) VALUES(value);
  -- 检查code是否改变,如果改变表示插入异常了
  IF code = '00000' THEN
    GET DIAGNOSTICS rows = ROW_COUNT;
    SET result = CONCAT('insert succeeded, row count = ',rows);
  ELSE
    -- 复制异常code,异常信息
    SET result = CONCAT('insert failed, error = ',code,', message = ',msg);
  END IF;
  -- 输入执行结果
  SELECT result;
END;

相关文章

  • MYSQL记录存储过程SQL异常错误信息

    最近接触到mysql的存储过程,主要用于统计数据。 此外需要记录存储过程的执行状态,异常日志。MYSQL手册描述(...

  • Mysql存储过程

    阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的“脚本” 创建存储过程 调用存储过程 存储过程...

  • MySQL存储过程创建及调用方法

    MySQL存储过程是一个sql语句,那么我们如何创建呢,MySQL存储过程创建及修改,删除操作。 1,存储过程创建...

  • MySQL存储过程和存储函数

    一、存储过程 MySQL存储过程存储过程和存储函数参考文章 SQL语句需要先编译然后执行,而存储过程(Stored...

  • java基础-day44-MySQL进阶

    Mysql进阶 存储过程 1 什么是存储过程 1.存储过程,带有逻辑的sql语句2.之前的sql没有条件判断,没有...

  • Mysql存储过程Demo

    基础结构 mysql执行动态sql 存储过程的事务控制(提交和回滚)以及异常处理 疑问: 以下用两个prepare...

  • clickhouse-sql 记录常用操作

    clickhouse-sql 记录常用操作 sql 相关 主要记录 mysql 导入 clickhouse 过程其...

  • mysql学习笔记(四)

    存储过程 mysql命令的执行流程:SQL命令--->MySql引擎--->(分析)语法正确--->(编译)可识别...

  • mysql之存储过程

    mysql之存储过程:如何提高程序的性能和安全性。 1、什么是存储过程 存储过程:一系列sql语句预先存储在mys...

  • MySql 存储过程 动态sql

    将从表中查出的数据作为表名,对其进行操作 根据查出来的表名,将该表的数据全部插入到一个总表 遍历所有表,判断是否存...

网友评论

    本文标题:MYSQL记录存储过程SQL异常错误信息

    本文链接:https://www.haomeiwen.com/subject/hgldbftx.html