刚才一个朋友问到:

 mysql  有类似 mssql 退出执行的方法不?
比如我执行到某个条件,下面就终止执行了。 

想起以前写的存储过程,找了好久才找到,就发给他,希望对他有所帮助,贴在这里,留作纪念,也方便自己以后查找。

-- --------------------------------------------------------------------------------

-- Routine DDL
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE PROCEDURE xxx.proc_reuters_dss_equity_price(OUT p_result BOOLEAN)
BEGIN
-- 错误处理
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
TRUNCATE TABLE reuters_interface.reuters_dss_equity_price;
SET p_result = FALSE;
END;
    
    -- 处理数据
REPLACE INTO
reuters_dss.equity_price (ric, company_name, currency_code,
exchange_code, ticker, trade_date, ask_price, bid_price,
close_price, volume,
last_updated_ask_price, last_updated_bid_price,
last_updated_close_price, last_updated_date, last_updated_volume,
split_factor, vwap_price,
insert_time)
SELECT ric, IF(company_name='',
null, company_name), currency_code, exchange_code, ticker, trade_date,
IF(ask_price='0.00000', null, ask_price), 
        IF(bid_price='0.00000', null, bid_price), close_price,
IF(volume='0', null, volume), IF(last_updated_ask_price='0.00000', null,
last_updated_ask_price), 
        IF(last_updated_bid_price='0.00000', null, last_updated_bid_price), 
        IF(last_updated_close_price='0.00000', null, last_updated_close_price),
        last_updated_close_price_date,
        IF(last_updated_volume='0', null, last_updated_volume),
        IF(split_factor='', null, split_factor),
        IF(vwap_price='0.00000', null, vwap_price),
        insert_time
FROM reuters_interface.reuters_dss_equity_price;

COMMIT;
    
TRUNCATE TABLE reuters_interface.reuters_dss_equity_price;
SET p_result = TRUE;

COMMIT;

END

存储过程错误异常处理例子 --> DECLARE EXIT HANDLER FOR SQLEXCEPTION (转)的更多相关文章

  1. MYSQL存储过程中事务和DECLARE EXIT/CONTINUE HANDLER的使用

    -- 1.DECLARE EXIT HANDLER FOR SQLEXCEPTION 语句后面可以跟一个 begin end的复合语句块,也可以直接跟一个简单语句例如 :DECLARE EXIT HA ...

  2. MySQL 存储过程错误处理

    MySQL  存储过程错误处理 如何使用MySQL处理程序来处理在存储过程中遇到的异常或错误. 当存储过程中发生错误时,重要的是适当处理它,例如:继续或退出当前代码块的执行,并发出有意义的错误消息. ...

  3. 详解MySQL存储过程的“异常处理”

    阅读目录:存储过程的异常处理 定义异常处理 单一异常处理程序 continue exit 多个异常处理程序 关于错误编号和SQLSTATE码 使用3个处理程序 忽略某一异常的处理 异常处理的命名 异常 ...

  4. MySQL存储过程的异常处理

    阅读目录:存储过程的异常处理 定义异常处理 单一异常处理程序 continue exit 多个异常处理程序 关于错误编号和SQLSTATE码 使用3个处理程序 忽略某一异常的处理 异常处理的命名 异常 ...

  5. mysql存储过程之异常处理篇

    mysql存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现 语法如下: DECLARE handler_type HANDLER FOR condition_value[, ...

  6. C#调用存储过程简单完整例子

    CREATE PROC P_TEST@Name VARCHAR(20),@Rowcount INT OUTPUTASBEGIN SELECT * FROM T_Customer WHERE NAME= ...

  7. DECLARE CONTINUE HANDLER FOR NOT FOUND

    1.解释: 在mysql的存储过程中经常会看到这句话:DECLARE CONTINUE HANDLER FOR NOT FOUND. 它的含义是:若没有数据返回,程序继续,并将变量IS_FOUND设为 ...

  8. EBS OAF开发中的错误/异常处理(ErrorHandling) (转)

    原文地址 EBS OAF开发中的错误/异常处理(ErrorHandling) EBS OAF开发中的错误/异常处理(ErrorHandling) (版权声明,本人原创或者翻译的文章如需转载,如转载用于 ...

  9. SQL Server数据库存储过程的异常处理

    SQL Server数据库存储过程的异常处理是非常重要的,明确的异常提示能够帮助我们快速地找到问题的根源,节省很多时间.本文我们就以一个插入数据为例来说明SQL Server中的存储过程怎么捕获异常的 ...

随机推荐

  1. MySql 5.7 详细参数说明

    max_connections: 允许客户端并发连接的最大数量,默认值是151,一般将该参数设置为500-2000 max_connect_errors: 如果客户端尝试连接的错误数量超过这个参数设置 ...

  2. 2017最全的php面试题目及答案总结

    最近在网上看到很多的小伙伴们都在询问如何应对php面试,这个对于有工作经验和实战项目的小伙伴来说是没什么问题的,但是对于刚刚学习完php的小伙伴们.php面试却是一个很重要的一步,那么今天php中文网 ...

  3. css异步加载

    <link rel="preload" href="mystyles.css" as="style" onload="thi ...

  4. mysql服务性能优化 my.cnf my.ini配置说明详解(16G内存)

    sort_buffer_size,join_buffer_size,read_buffer_size参数对应的分配内存也是每个连接独享 这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话, ...

  5. C#反射第一天

    [转]C#反射   反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等. ...

  6. 解析3级JSON的例子

    我们都知道现在Ajax盛行,而且前后台数据交流的格式已经换成了JSON了.虽然我对这种做法还是有点担忧的,如果用户关闭了JavaScript怎么办?但是这些担忧还是不能阻止Ajax的盛行和JSON数据 ...

  7. uva 11752 The Super Powers 素数+大数判断大小

    题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  8. VC++异常捕获??

    1. std: #include <string> #include<iostream> // for cerr //#include <stdexcept> // ...

  9. 10.0.4_CentOS_120g

    对应 VMware Workstation 版本为:“10.0.4 build-2249910”

  10. Teamviewer_相关

    1.官网下载:https://www.teamviewer.com/zhcn/download/windows/,里面选择 "Portable"的版本来下载(按钮"下载P ...