首页 > 代码库 > Oracle 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)

Oracle 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)



 

技术分享DECLARE
技术分享TYPE name_list 
IS TABLE OF VARCHAR2(40);
技术分享TYPE type_list 
IS TABLE OF VARCHAR2(20);
技术分享
技术分享Tab_name name_list:
=name_list();
技术分享Tab_type type_list:
=type_list();
技术分享
技术分享sql_str 
VARCHAR2(500);
技术分享
BEGIN
技术分享sql_str :
= select uo.object_name,uo.object_type from user_objects uo where uo.object_type not in(‘‘INDEX‘‘,‘‘LOB‘‘) order by uo.object_type desc;
技术分享
EXECUTE IMMEDIATE sql_str BULK COLLECT INTO tab_name,tab_type;
技术分享
技术分享
FOR i IN Tab_name.FIRST.. Tab_name.LAST LOOP
技术分享sql_str :
= DROP  || Tab_type(i) ||   || Tab_name(i);
技术分享
EXECUTE IMMEDIATE sql_str;
技术分享
END LOOP;
技术分享
END;

Oracle 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)