重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这种情况叫死锁,与网络质量无关。
创新互联专注于企业网络营销推广、网站重做改版、耀州网站定制设计、自适应品牌网站建设、H5场景定制、商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为耀州等各大城市提供网站开发制作服务。
最大的可能就是程序的原因。
如A进程修改a表的某条记录,修改完a表后,会继续修改b表的某条记录,然后提交事务。
这个时候,B进程在修改b表的那条记录,修改完后要去修改a表的那条记录,然后提交事务。
这样,当A修改完a尚未修改b,B修改完b尚未修改a的时候,就可能出现B进程等待A进程提交事务,A进程又在等待B进程提交事务,两个进程一直在等。
所以死锁就出现了。
1、在sql语句后面加上for update可以获得行锁。
2、捕捉返回的sqlcode 和 sqlerrmc 可以得到返回值和错误信息。
---
以上,希望对你有所帮助。
如果当前有用户在对某行数据进行修改登操作,oracle会在这行数据上添加行级锁,期间,所有用户对该行数据只能查询,不可修改,如果比如说执行update操作,需等待该修改操作事务提交或者回滚之后,才行。