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、這個刪除當前使用者的所有物件(表、檢視、觸發器、儲存過程、函式)
沒試過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;
快速刪除某個使用者下的所有表資料
一 禁止所有的外來鍵約束 在pl sql developer下執行如下語句 select alter table table name disable constraint constraint name from user constraints where constraint type r 把...
Oracle中刪除某個使用者下的所有表
一般的方法 先使用sql查詢 select delete from table name from user tables order by table name 將查詢結果複製一下,在sql命令視窗裡再執行一次就刪除了所有的表。select drop table table name from c...
oracle 刪除某個使用者下的所有物件
先存放好dropobj.sql 檔案 然後登入需要刪除的使用者 刪除前最好備份一下 備份是在cmd中進行的 c users panfu exp file d expall.dmp log expall.logfull y export release 10.2.0.1.0 production on...