我想在一个事务里多次的调用一个存储过程,这个存储过程的作用是返回一个依次递增的流水号(把一个值每次加1),
(1)这样做可以吗?
(2)如果事务没有提交,存储过程能够回滚吗?也就是流水号的值是否还是事务开始前的值?
谢谢。
能
回滚后就和你根本没调过一样。
可以;
事务回滚,就等于什么都没发生一样;
值得注意的是你调用的存储过程是怎么递增的,这个事务是针对存储过程的还是针对这次事务的;否则会出现流水号浪费的情况。
肯定可以用!
返回一个依次递增的流水号!如果只是用取值的话,肯定没问题。但是你要回滚什么?你只是取值又没有操作数据库的数据、用回滚吗?你觉得回滚可以让你访问数据库的时间倒回去!?!?
所以取值和用事务没关系。但是你的存储过程如果有插入、编辑的操作的话,你的事务回滚就比较麻烦了。
可以调用,我刚才试过了。