日期:2014-05-16 浏览次数:20940 次
--1.锁住一行,锁住后其它人是不能修改这一行的 select * from emp t where t.empno='7499' for update; --2.修改 update emp t set ename='zhangshan' where t.empno=7499; --3.提交并释放锁 commit;
------解决方案--------------------
这个不可能吧 除非update了就提交
你已经在update了那么就是脏数据了 不提交的话 select肯定是放回以前的数据 你还想访问update了但未提交的新数据 那锁是用来干嘛的 数据一致性了
至于楼上各位说的update for nowait 也不是实现楼主要求的
而是在对已有加锁数据的处理中的差别
一个是继续等待 等待之前的解锁 然后自己加锁
一个是不等待 直接返回错误信息