从表里选择一条数据,然后将这条数据的状态字段更新成1(未被获取为0,被获取为1)。
多个用户并发获取的时候如何确保获取的数据不相同。谢谢!

解决方案 »

  1.   

    在程序里控制或者使用函数或者存储过程封装下面的语句.
    select ... from ... for update;
    update .... set ...;
      

  2.   

    只能在程序里控制吗?oracle不能搞定?
      

  3.   

    不是回答了吗,可以用select ... from ... for update;吗这个可以事物完成前,别人是无法修改你查询出的记录的
      

  4.   


    select ... from ... for update;会锁定行,并发时另一个用户就不能修改
    然后再update .... set ...; 修改锁定的行。每个用户都这么操作就不会冲突了
      

  5.   


    这个说的就是再Oracle里搞定的,比如PLSQL 里,执行你的语句  后面带 for update 表示锁定相应记录。