昨天去面试了,面试的人问我oracle中怎么解决一条记录多个人同时修改的问题
我回答是加锁
他问我怎么个加法
我没回答上来
哪位知道
谢谢

解决方案 »

  1.   

    LOCK TABLE T_XXXX IN EXCLUSIVE MODE NOWAIT
      

  2.   

    select * from table where ......for update
      

  3.   

    你告诉他,ORACLE已经解决这个问题了!
    绝对不可能出现同时修改的可能!
      

  4.   

    当你执行了update  之类的语句时候没有commit的时候
    你选定的那行就加了一个锁,这个时候是不允许其他的对该选定行的修改
    如果此时其他人对该记录经行修改的时候,执行的语句就会挂起,直到你的update语句commit为止。。
    可以从v$locked_object 查到被锁的信息
      

  5.   

    同一oracle已经解决这个问题了·
    oracle会自动对锁进行维护
      

  6.   

    select .. for update锁定某条记录
      

  7.   

    不可能出现啊,ORACLE自动维护的呢。涉及有UNDO SEGMENTS