如何保证并发? 多个用户可能对同一个账户做支取操作,为了保证账户不透支,需要在支取(插入一条支取记录)之前做账户的余额检查,这个地方需要做同步处理。整个过程是用Oracle的存储过程实现的,请问如何实现能保证并发?DBMS_LOCK建议使用么?还有别的方法么,比如在余额检查前取出账户余额,插入支取记录再取一次余额,比较两次记录? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select ..... for update不能满足要求??? 是插入一条记录,过程较复杂。所以select...for update不能满足。 不太明白,你首先是要更新记录,如果更新成功才能插入操作记录首先查询 SELECT .... FOR UPDATE...判断有余额,则取钱,UPDATE ...SET 总金额=总金额-取钱数 ....然后插入当前取钱记录 INSERT .....value 取钱数无异常则,提交....释放 UPDATE锁... 使用串行化事务隔离级别set transaction isolation level serializable 谢谢回复。我对select for update不熟练,再研究下。准备加一个版本列使用乐观锁实现。使用串行化事务隔离级别肯定不行啊。 redhat6.3安装oracle10g ins_net_client.mk 为什么我的oracle11g没有net manager,那么我怎么配置监听? 一个列变行的问题 ,请问如何实现 windows系统被我ghost恢复了,但是在E盘的oracle目录。。。 Oracle中的外连接 插入数据的问题 oracle10g客户端与软件打包的问题? java.sql.SQLException: ORA-02019: 未找到远程数据库的连接说明 exp不能导出? 有谁知道画维恩图的算法?谢谢 存储过程求救 oracle 存储过程调用的问题
判断有余额,则取钱,UPDATE ...SET 总金额=总金额-取钱数 ....
然后插入当前取钱记录 INSERT .....value 取钱数
无异常则,提交....释放 UPDATE锁...
set transaction isolation level serializable