编程之道

无论是批评的,赞扬的,指着的都请EMAIL给我,你的建议将是我前进的动力! 联系我

关于物理锁和逻辑锁

1.通过一个字段区别的就叫逻辑锁了,在我作的工程中没有用到过.所以没有什么经验.
2.物理锁.

现象:多人对数据库进行物理操作的时候,如果不锁表,那么A和B检索出来的数据是一样的,但是A先更新了数据,这时候B就是脏数据,点更新会把A的内容更新掉.

解决方案:
在检索数据的时候同时把你要操作的纪录或者表锁了.(锁纪录比较好点)
oracle提供了在检索的时候就锁表的功能.就是在SQL文后面加上:FOR UPDATE NOWAIT SKIP LOCKED.

SKIP LOCKED 加上去的话就是当检索到的这条纪录被锁的话,就不等待直接跳过.
''如果锁了
if LockedRecord() = true then
      msgbox "locked"
endif

posted on 2006-07-19 11:33 疯流成性 阅读(968) 评论(0)  编辑  收藏 所属分类: 数据库


只有注册用户登录后才能发表评论。


网站导航: