刪除某個使用者下的所有表

2021-08-31 06:12:00 字數 1077 閱讀 7113

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...