在会锁定表的sql语句最后加上nowait,比如update table set ...nowait,这样程序对表进行操作的时候,如果表被其他进程锁定,就会报错,不会等待,造成死锁

解决方案 »

  1.   

    update rws set rwly ='xxxxx' where xmbh ='hn03-00001' nowait
                                                          *
    ERROR 位于第 1 行:
    ORA-00933: SQL 命令未正确结束
      

  2.   

    select ... from ... for update; 

    当对话使用for update子串打开一个游标时,
    所有返回集中的数据行都将处于行级(Row-X)独占式锁定,
    其他对象只能查询这些数据行,不能进行update、delete或select...for update操作