应该是其他人或其他进程先锁住这些数据了,无法完成加锁操作
可以select for update nowait查询试试,看看是不是报错

解决方案 »

  1.   


    的确是被占用了,那为什么在toad还可以修改这行呢?还有就是怎么在sqlplus里面释放这资源呢?刚才试了一下执行commit无法释放资源,执行select for update nowait还是报错。
      

  2.   

    toad进程锁住了这些数据,所以toad能修改
    sqlplus申请加锁时,toad还未释放,所以无法加锁
    需要在toad那边执行commit或rollback之后,sqlplus才能进行加锁,进而修改数据
      

  3.   


    上面我测试错了,第一次执行完select for update 之后toad不能修改了,然后在执行commit,在toad中能修改了;然后再执行select for update nowait 就报错了,说资源被占用,但是toad里还能修改这行数据。