oracle for update用法

在Oracle中如果只是使用select的话, Oracle是不会给数据加锁的。 当数据正在被另一个进程修改的时候,使用select得到的结果就不是最新的。

这就需要使用for update, 当oracle发现满足条件的记录正在被更新时,不会立即执行select语句,而是一直等待下去,直到更新结束才会执行select语句。

还有另外两种用法:

for update nowait:当oracle发现满足条件的记录正在被更新时会立即抛出异常而不是等待,我们在程序里捕获异常就能了解到底发生了什么,从而采取相应的异常处理。

for update wait 3:当oracle发现满足条件的记录正在被更新时,会等待下去,如果超过3秒更新还未结束,那么就会抛出异常。

posted @ 2015-01-07 17:04  龙昭羽  阅读(2805)  评论(0编辑  收藏  举报