码迷,mamicode.com
首页 > 数据库 > 详细

关于Oracle for update

时间:2015-04-18 17:30:51      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

【概述】

在日常中,我们对for update的使用还是比较普遍的,特别是在如pl/sql developer中手工修改数据。
此时只是觉得方便,而对for update真正的含义缺乏理解:
For update是Oracle提供的手工提高锁级别和范围的特例语句,Oracle的锁机制是目前各类型数据库锁机制中比较优秀的。
所以,Oracle认为一般不需要用户和应用直接进行锁的控制和提升,甚至认为死锁这类锁相关问题的出现场景,大都与手工提升锁有关。
所以,Oracle并不推荐使用for update作为日常开发使用。而且,在平时开发和运维中,使用了for update却忘记提交,会引起很多锁表故障。

pl/sql developer修改数据建议使用此种形式:select t.*,t.rowid from table t;

【使用场景】

需要业务层面数据独占时,可以考虑使用for update。

场景上,比如火车票订票,在屏幕上显示有票,而真正进行出票时,需要重新确定一下这个数据没有被其他客户端修改。所以,在这个确认过程中,可以使用for update。

关于Oracle for update

标签:

原文地址:http://www.cnblogs.com/liuyunxi/p/4437573.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!