MySQL 事务 ROLLBACK 示例代码

2015-01-30 0 478
MySQL 事务 ROLLBACK 示例代码
mysql>
mysql> delimiter $$
mysql>
mysql> CREATE PROCEDURE myProc(
    ->   in_from INTEGER,
    ->   in_to   INTEGER,
    ->   in_amount DECIMAL(8,2))
    -> BEGIN
    ->
    ->   DECLARE txn_error INTEGER DEFAULT 0 ;
    ->
    ->   DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN
    ->     SET txn_error=1;
    ->   END;
    ->
    ->   SAVEPOINT savepoint_tfer;
    ->
    ->   UPDATE employee
    ->      SET salary=in_amount
    ->    WHERE id=in_from;
    ->
    ->   IF txn_error THEN
    ->     ROLLBACK TO savepoint_tfer;
    ->     SELECT 'Transfer aborted ';
    ->   ELSE
    ->     UPDATE employee
    ->        SET salary=in_amount
    ->      WHERE id=in_to;
    ->
    ->      IF txn_error THEN
    ->         ROLLBACK TO savepoint_tfer;
    ->         SELECT 'Transfer aborted ';
    ->      END IF;
    ->   END IF;
    ->
    -> END$$
Query OK, 0 rows affected (0.00 sec)

遇见资源网 sql MySQL 事务 ROLLBACK 示例代码 http://www.ox520.com/17483.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务