1 个回答
这是因为当前表正在被执行以下查询,删除,更新等操作,可以等待其他sql执行完毕后再试,或者查询出那些sql正在对该表进行操作,查询sql语句如下:
记得把tab.name修改成想要删除的表。查询之后可以看到对应的session了,如下图:

最后使用

再执行删除就好了。
select "V$SESSIONS".SESS_ID,"V$SESSIONS".SQL_TEXT,"V$SESSIONS".STATE,"V$SESSIONS".CURR_SCH,"V$SESSIONS".USER_NAME,"V$SESSIONS".TRX_ID,"V$SESSIONS".CREATE_TIME
from v$sessions where trx_id in(
select trx_id from v$lock where table_id in (
select tab.id from sysobjects sch,sysobjects tab
where tab.schid=sch.id and sch.name||'.'||tab.name='DEMO.TEST1'))
and SQL_TEXT like '%insert%' or SQL_TEXT like '%update%' or SQL_TEXT like '%delete%';
记得把tab.name修改成想要删除的表。查询之后可以看到对应的session了,如下图:

最后使用
sp_close_session(${session_id})
kill掉对应的session,
再执行删除就好了。
发布于:5个月前 (11-25) IP属地:四川省
我来回答
您需要 登录 后回答此问题!