当前位置: 代码迷 >> Oracle管理 >> 怎样防止表锁定哦?解决办法
  详细解决方案

怎样防止表锁定哦?解决办法

热度:8   发布时间:2016-04-24 05:16:39.0
怎样防止表锁定哦?
我在java程序中执行
begin
update t_12580_bus_ticket set state='1' where id in (SELECT id FROM t_12580_bus_ticket 
WHERE to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') < to_char(to_date(create_time, 'yyyy-mm-dd hh24:mi:ss')+numtodsinterval(10,'minute'),'yyyy-mm-dd hh24:mi:ss') 
);
commit;
end

后,总是把t_12580_bus_ticket 表给锁定了,请问下,是不是这个sql写的有问题哦?



------解决方案--------------------
begin
update t_12580_bus_ticket
set state = '1'
where to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') <
to_char(to_date(create_time, 'yyyy-mm-dd hh24:mi:ss') +
numtodsinterval(10, 'minute'),
'yyyy-mm-dd hh24:mi:ss');
commit;
end

这样些和你写的难道不是一样的,为什么你要套一层啊~~
------解决方案--------------------
语句没什么,锁定的原因应该是其他原因造成的...
------解决方案--------------------
并发太厉害锁表也是正常的
  相关解决方案