mysql exit handler_[MySQL] 存储过程错误异常处理例子 –> 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值