关于多用户同时执行同一个存储过程的事务问题
sqlserver2000数据库,有一个存储过程有下面语句:
BEGIN TRAN aaa
insert t_wh_billofdocument([bs_customer_id],[bs_personnel_id])
values (@bs_customer_id,@bs_personnel_id )
set @iError = @@error
if @iError=0
commite tran aaa
else
rollback tran aaa
假如有多个用户同时执行这个存储过程的语句时,特别是执行insert 语句时,这个事务的作用会不会先执行完某一个用户提交的事务(包括insert 语句)后,再执行另外一个用户提交的事务?
------解决方案--------------------对的
------解决方案--------------------事务的执行是会执行完一个再执行下一个的,每个事务是单独的进程,不会出现并发。
所以,你说的是对的。
------解决方案--------------------嗯。发生事务时是会先加锁所执行的语句,执行完后再解除加锁,接着执行其它的statement