oracle刪除指定使用者所有表

2021-06-05 08:18:00 字數 1071 閱讀 5306

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;

Oracle刪除使用者所有表

先使用sql查詢 select delete from table name from user tables order by table name 將查詢結果複製一下,在sql命令視窗裡再執行一次就刪除了所有的表。select drop table table name from cat whe...

oracle刪除某個使用者所有表

1 select drop table table name from all tables where owner 要刪除的使用者名稱 注意要大寫 2 刪除所有表 以使用者test為例 for example declare cursor cur1 is select table name fro...

oracle刪除使用者的所有表

1 檢視當前登入的使用者的所有表 select table name from user tables 檢視除了以 sym 開頭的所有表 select table name from user tables where table name not like sym 如果有刪除使用者的許可權,則可以...