+ -
当前位置:首页 → 问答吧 → 请教高手一个关于事务回滚的问题

请教高手一个关于事务回滚的问题

时间:2011-07-20

来源:互联网

对mysql的事务回滚不是很清楚。
SQL code

 69 CREATE PROCEDURE XXXXXX(IN _uuid VARCHAR(36),_yong_hu_id VARCHAR(36),IN _toubiao_jing_e DECIMAL(20,5))
 70 BEGIN
 71     DECLARE dqjke DECIMAL(20,5) DEFAULT 0.00000;
 72     DECLARE biao_jing_e DECIMAL(20,5) DEFAULT 0.00000;
 73     DECLARE raise_zhang_hu_jing_e DECIMAL(20,5) DEFAULT 0.00000;
 74 
 75     -- 阿德算法三方的阿斯顿发  
 76     SELECT  dang_qian_jie_kuan_e FROM tb_biao WHERE uuid = _uuid INTO  dqjke; 
 77     SET dqjke = dqjke + _toubiao_jing_e;
 78     UPDATE tb_biao SET dang_qian_jie_kuan_e  = dqjke;
 79 
 80     -- 阿斯顿发斯蒂芬        
 81     INSERT INTO tb_toubiao_jilu (biao_uuid,yong_hu_id,jing_e)VALUES(_uuid,_yong_hu_id,_jing_e);
 82 
 83     -- 阿斯顿发速度
 84     set raise_zhang_hu_jing_e = 0 - _toubiao_jing_e;
 85     call raiseZhangHuZongE(raise_zhang_hu_jing_e,_yong_hu_id);
 86 
 87     -- 阿斯顿发斯蒂芬      
 88     SELECT jing_e FROM tb_biao WHERE uuid = _uuid INTO biao_jing_e;
 89      IF (dqjke >= biao_jing_e) THEN  
 90         UPDATE tb_biao SET biao_status  = 'success' WHERE uuid = _uuid; 
 91      END IF;               
 92      COMMIT;
 93 END$$
在上面这个存储过程中怎样实现71行到91行中的任何一条语句出错都回滚整个事务?请大侠帮我改一改。万分感谢。

作者: OrpheusWen   发布时间: 2011-07-20

自己顶

作者: OrpheusWen   发布时间: 2011-07-20