问一个问题,更新是不是没有必要加事务?
如果加了,是不是得判断?
我看到这么一个存储过程,代码如下:
start transaction; update table1 ...
update table2 ...commit;
这个里面既没有rollback,也没有定义出错后存储过程的行为。那么我是不是可以理解这么写有问题?因为update不会失败,只能是更新0条记录。那么同时请问,类似的update事务应该怎么做?
就是我想同时更新10个表,但是又想放到事务中。有这种需求吗?
如果加了,是不是得判断?
我看到这么一个存储过程,代码如下:
start transaction; update table1 ...
update table2 ...commit;
这个里面既没有rollback,也没有定义出错后存储过程的行为。那么我是不是可以理解这么写有问题?因为update不会失败,只能是更新0条记录。那么同时请问,类似的update事务应该怎么做?
就是我想同时更新10个表,但是又想放到事务中。有这种需求吗?
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION ....
如果确定UPDATE语句正确无误,可以,否则应该加如果加了,是不是得判断?
YES
但是如果更新的值和目标值一样,他也会更新0条。我如何知道是第一种情况???????????
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION ....
start transaction; update table1 ...
update table2 ...commit;