日期:2014-05-17  浏览次数:20798 次

oracle 更新语句死锁问题?????
UPDATE mem_card_new  a set bj=concat(bj,'," + brid + "') where exists(select 1 from  brflag b  where instr(substr(b.idsvalue, 1, length(b.idsvalue) - 1),  concat('''', concat(wsid, ''''))) > 0   and b.tablename='mem_card_new' and b.brid='" + brid + "'  and nvl(instr(a.bj,'" + brid + "'),0)=0) and wsid in(select a.wsid from EXP_TEMPCARD a inner join mem_card_new b on a.wsid=b.wsid and a.cent=b.mem_jf_amt and a.brid='" + brid + "')

我是用的WEB SERVICE处理执行这个SQL语句的,这个WEB SERVICE调用的比较频繁,每2分钟就会有20多个请求,经常会死锁,各位有没有什么好的办法去解决这个死锁的问题呢?
oracle web?service

------解决方案--------------------
为什么不在程序里面通过一些机制来实现呢。比如单例模式,或者排队。。。