我觉得还是对oracle 的不了解。
1. 你用的是一个库否?
2. 你所谓的事物的,update 其实你修改这条记录的时候oracle 已经锁定了这条记录,你只要在语句中查出你所修改的行(正确的)
update bank set money=money-fetch where money-fetch>0 那么就会锁定。
3. 不同区域,别说中国就是全球也支持啊,是时区来控制的。

解决方案 »

  1.   

    各省只存自己区域的账号信息,你从 ATM 上取了 1000元,如是异地,先转回到你的卡所属地的分行,他们会先扣掉你的 1000元,才给你吐钱出来,有时候听说,账上的钱少了,钱没吐出来,就是这个原因。事务排队,这个肯定会排,不过你放心 ,银行的后台系统也是庞大的,等不了几秒,甚至是毫秒。三个地方,同时对一个账号存钱,也是一笔一笔的存的,不存在余额同步这个说法,只有一个余额。