一个用户是system,另一个用户tmp,现在在用户system里新建一张表uu,插入两条记录(001,002),在一个用户里设置select * from uu where id=001 for update后;用另一个用户登入后查询可以,修改001记录不可以,但是修改002记录也不可以,这是为什么呀,照理说锁住第一行,修改第二行应该每问题呀,请指教

解决方案 »

  1.   

    是不是没有授权啊?如果用户只用查询权限当然改不了
    grant update on uu to tmp;
      

  2.   

    理论上是可以的,Oracle总是进行行琐。
    是不是tmp只有select的权限,没有update的权限
    grant update on uu to tmp;再试试不过像有的数据库DB2,是有可能存在这种情况的,如果没有对id建立索引的话,
    select for update会把扫描到的行全琐上。