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 如果有刪除使用者的許可權,則可以...