日期:2014-05-16  浏览次数:20494 次

oracle 删除某用户表

1、

select?? 'Drop?? table?? '||table_name||';'?????
??????? from?? all_tables???
??????? where?? owner='要删除的用户名(注意要大写)';
??

2、

删除所有表


以用户test为例

for example:

declare?
cursor cur1 is select table_name from dba_tables where owner='TEST';
begin
? for cur2 in cur1 loop
??? execute immediate 'drop table test.'||cur2.table_name;
? end loop;
end;

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

??? 没试过

?

TYPE?name_list?IS?TABLE?OF?VARCHAR2(40);

Tab_type?type_list:
=type_list();
sql_str?
VARCHAR2(500);
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?:
=?'