日期:2014-05-16  浏览次数:20917 次

跪求解答,给新人一个机会!!!!!!!!!!!!!!
当程序在向数据库中的一条记录的某个字段写入数据的时候,程序的其它代码要访问这个字段的信息必须要等到写入这个字段的操作完成以后才能访问,请问这样的想法和功能能实现吗????请各位说说具体的实现步骤吧,不胜感激!!!!

------解决方案--------------------
探讨
当程序在向数据库中的一条记录的某个字段写入数据的时候,程序的其它代码要访问这个字段的信息必须要等到写入这个字段的操作完成以后才能访问,请问这样的想法和功能能实现吗????请各位说说具体的实现步骤吧,不胜感激!!!!

------解决方案--------------------
如果需要update串行
如:修改empno为7499的员工姓名
SQL code
--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 也不是实现楼主要求的
而是在对已有加锁数据的处理中的差别
一个是继续等待 等待之前的解锁 然后自己加锁
一个是不等待 直接返回错误信息