关于oracle的sql语句中 for update 的使用,以及存在的问题

来源:互联网 发布:知乎web前端必读书籍 编辑:程序博客网 时间:2024/05/10 21:28

在oracle中单纯的执行sql查询,而此时相对结果列表中的某条记录进行修改,点击下图中的锁的标识,会发现报错,意思是查询操作,不能修改数据。


此时应该怎么办呢?在sql语句的后面使用for update ,即select t.* from test t  for update即可,此时锁就可以打开了。

但是也存在问题,就是结果列表中的所有记录,其他登录数据库的用户是修改不了的,应用程序的修改页面,点击保存,也是没有办法修改的,表现为点击保存没有反应,一直显示的是等待状态。

等什么呢?在等我,因为我正在数据库中修改这些记录。如果我这边也在改,前台程序的修改页面也在改,那就会存在数据不一致的情况。所以oracle数据库设计了锁。当有人在update的时候,给该条记录上锁,其他人讲不能对上锁的记录进行修改



0 0
原创粉丝点击