zoukankan      html  css  js  c++  java
  • 存储过程错误异常处理例子 --> DECLARE EXIT HANDLER FOR SQLEXCEPTION (转)

    刚才一个朋友问到:

     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

  • 相关阅读:
    深入理解JavaScript系列(4):立即调用的函数表达式
    深入理解JavaScript系列(3):全面解析Module模式
    深入理解JavaScript系列(2):揭秘命名函数表达式
    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
    深入理解JavaScript系列
    大白话讲解Promise(一)
    《你不知道的JavaScript》整理(二)——this
    Mysql日期时间大全
    Mysql的时间和日期
    mysql命令大全用户管理相关命令
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/5749663.html
Copyright © 2011-2022 走看看