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

怎样防止表锁定哦?
我在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

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