MySQL存储过程模板

MySQL存储过程的范例模板,带返回值和异常处理的功能。

DROP PROCEDURE IF EXISTS sp_sample;
CREATE PROCEDURE sp_sample(OUT errno INT)
root:BEGIN
  /*
    功能:

    IN参数:

    OUT参数:
           errno 存储过程异常标志(0-成功, 1-异常)           
  */
    DECLARE EXIT HANDLER FOR SQLEXCEPTION
    BEGIN
        ROLLBACK;
        SET errno = 1;
    END;
    SET errno = 0;
    START TRANSACTION;
    -- do what you want to do.
    -- ...
    COMMIT;
END;

其中,存储过程的异常捕获和回滚使用DECLARE...HANDLER实现:

 DECLARE EXIT HANDLER FOR SQLEXCEPTION
    BEGIN
        ROLLBACK;
        SET errno = 1;
    END;

关于DECLARE...HANDLER的用法见: http://blog.csdn.net/china_jeffery/article/details/79284051

china_jeffery CSDN认证博客专家 C/C++ Qt Node.js
持续学习者;
擅长开发开源组件及相关工具;
长期致力于应用各种IT新技术提升生产效率和解决实际问题;
china_jeffery@163#com
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值