请教各位:oracle表数据delete不了,索表问题

在数据库表里直接执行语句

查看哪些对象被锁:

select object_name, machine, s.sid, s.serial#
from v$locked_object l, dba_objects o, v$session s
where l.object_id  =  o.object_id
and l.session_id = s.sid;

杀死一个进程:

alter system kill session 'sid,serial#'; 

之后,再次查询是没有被锁对象的,此时执行表的delete语句,执行不成功(只是一直在查询时间),请问这是什么问题?


业务逻辑功能删除时也会锁表,执行逻辑代码如下(若有不完善的地方,请指教一下):

List<String> delSqls = new ArrayList<>();
for (String id : ids) {
    String sql2 = " update table1 set name = '1' where id = ?;
    String sql3 = " delete from table2 where id = ?;
    String sql3 = " delete from table3 where id = ?;
    String sql3 = " delete from table4 where id = ;
    
    delSqls.add(sql2);
    delSqls.add(sql3);
    delSqls.add(sql4);
    delSqls.add(sql5);
}
dao.executeSql(delSqls);
阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进