+ -
当前位置:首页 → 问答吧 → MySql 存储过程里使用事务问题,求解

MySql 存储过程里使用事务问题,求解

时间:2011-08-31

来源:互联网

之前用sql server 都是用@@error 判断是否出现错误,出现回滚,否则提交。 
在Mysql存储过程中 用事务的话,怎么知道系统执行语句没有报错。

作者: tt547276850   发布时间: 2011-08-31

SQL code

可以在存储过程中使用如下:

DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
START TRANSACTION;


COMMIT;

遇到异常就执行了ROLLBACK,你也可以将ROLLBACK替换成其他的,表示异常执行的语句!


作者: yananguo_1985   发布时间: 2011-08-31

引用楼主 tt547276850 的回复:
之前用sql server 都是用@@error 判断是否出现错误,出现回滚,否则提交。
在Mysql存储过程中 用事务的话,怎么知道系统执行语句没有报错。


我怎么知道抛异常了?

作者: tt547276850   发布时间: 2011-08-31

引用 1 楼 yananguo_1985 的回复:
SQL code


可以在存储过程中使用如下:

DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
START TRANSACTION;


COMMIT;

遇到异常就执行了ROLLBACK,你也可以将ROLLBACK替换成其他的,表示异常执行的语句!


我怎么知道抛异常了?

作者: tt547276850   发布时间: 2011-08-31


DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;

直接就回滚了,不需要人工再判断了。

作者: ACMAIN_CHM   发布时间: 2011-08-31

看返回值

select ROW_COUNT()

作者: rucypli   发布时间: 2011-08-31