oracle批量刪除使用者物件新篇章
以前批量刪除使用者物件都用:drop user xxx cascade;不過有時如果條件不允許就得想些其他批量刪除方法,看到網上一些朋友總結的,摘錄如下:
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;
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;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1097206/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle批量刪除表Oracle
- oracle 批量刪除觸發器Oracle觸發器
- 快速刪除oracle物件Oracle物件
- 刪除使用者全部物件,不用刪除使用者(摘)物件
- linux批量建立和刪除使用者Linux
- oracle 刪除使用者Oracle
- Oracle批量建立、刪除資料庫表Oracle資料庫
- php(js)批量刪除/單個刪除PHPJS
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- Oracle中刪除使用者下所有物件的多種方法Oracle物件
- 批量刪除死鎖
- hibernate批量刪除
- 批量刪除Oracle資料庫的資料Oracle資料庫
- Oracle 禁止刪除使用者Oracle
- oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄) 轉Oracle
- 【轉】oracle 快速刪除大批量資料方法(全部刪除,條件刪除,刪除大量重複記錄)Oracle
- oracle級聯刪除使用者,刪除表空間Oracle
- ORACLE批量刪除無主鍵重複資料Oracle
- Oracle中大批量刪除資料的方法Oracle
- 批量刪除 redis keysRedis
- git 批量刪除本地分支Git
- 批量刪除容器和映象
- 批量刪除表CHI_%
- 刪除一個使用者下所有的物件物件
- 表格的批量重新命名與批量刪除
- Oracle資料庫使用者刪除Oracle資料庫
- Oracle使用者的建立和刪除Oracle
- docker 批量刪除容器和映象Docker
- 批量刪除大量小檔案
- hibernateHQl批量插入、刪除、更新
- Linux批量刪除檔案Linux
- MySQL批量刪除指定字首表MySql
- SD--批量刪除訂單
- DB2 批量刪除表DB2
- 實現 UITableViewCell的批量刪除UIView
- vue+element-ui操作刪除(單行和批量刪除)VueUI
- Oracle中大批量刪除資料的方法(轉自)Oracle
- Mac電腦如何批量刪除照片?Mac