遍历删除查临时表相关session再操作表

Posted on 2019-01-16 09:50  nc明了  阅读(117)  评论(0)    收藏  举报

示例如下 删除 inf_getuserinfoforywh_temp1 (前提,相关用到inf_getuserinfoforywh_temp1的应用必须先停了)

create or replace procedure sss is
begin
for cur in (
SELECT sid, serial# FROM v$session
WHERE sid in (SELECT sid FROM v$lock
WHERE id1 = (SELECT object_id FROM user_objects
WHERE object_name = upper('inf_getuserinfoforywh_temp1')))
)
loop
execute immediate ( 'alter system kill session '''||cur.sid || ','|| cur.SERIAL# ||''' ');
end loop;
execute immediate('drop table inf_getuserinfoforywh_temp1') ;
end sss;

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3