一、準備工作:1.存儲過程DelDBTable.prc;2.sql文件 calldel.sql
DelDBTable.prc
create or replace procedure DelDBTable
as
sSql VARCHAR2(1000);
cursor cursor_DATABASE_LINK_name is
select DB_LINK from user_db_links;
dblinkname ALL_DB_LINKS.DB_LINK%type;
cursor cursor_table_name is
SELECT table_name FROM User_Tables;
tablename ALL_TABLES.table_name%type;
cursor cursor_view_name is
SELECT view_name from User_Views ;
viewname All_Views.view_name%type;
cursor cursor_ssequence_name is
SELECT sequence_name FROM User_Sequences;
sequencename all_sequences.sequence_name%type;
cursor cursor_trigger_name is
SELECT trigger_name FROM User_Triggers ;
triggername all_triggers.trigger_name%type;
begin
dbms_output.enable(100000);
open cursor_DATABASE_LINK_name;
loop
fetch cursor_DATABASE_LINK_name
into dblinkname;
exit when cursor_DATABASE_LINK_name%notfound;
dbms_output.put_line(dblinkname);
sSql := 'drop database link '||dblinkname;
dbms_output.put_line(sSql);
execute immediate sSql;
end loop;
close cursor_DATABASE_LINK_name;
open cursor_table_name;
loop
fetch cursor_table_name
into tablename;
exit when cursor_table_name%notfound;
dbms_output.put_line(tablename);
sSql := 'drop table '||tablename;
dbms_output.put_line(sSql);
execute immediate sSql;
end loop;
close cursor_table_name;
open cursor_view_name;
loop
fetch cursor_view_name
into viewname;
exit when cursor_view_name%notfound;
dbms_output.put_line(viewname);
sSql := 'drop view '||viewname;
dbms_output.put_line(sSql);
execute immediate sSql;
end loop;
close cursor_view_name;
open cursor_ssequence_name;
loop
fetch cursor_ssequence_name
into sequencename;
exit when cursor_ssequence_name%notfound;
dbms_output.put_line(sequencename);
sSql := 'drop sequence '||sequencename;
dbms_output.put_line(sSql);
execute immediate sSql;
end loop;
close cursor_ssequence_name;
open cursor_trigger_name;
loop
fetch cursor_trigger_name
into triggername;
exit when cursor_trigger_name%notfound;
dbms_output.put_line(triggername);
sSql := 'drop trigger '||triggername;
dbms_output.put_line(sSql);
execute immediate sSql;
end loop;
close cursor_trigger_name;
end DelDBTable;
/
calldel.sql
exec DelDBTable;
exit;
二、點擊PLSQL工具--配置工具
1、 點擊新增圖標,在詳細資料【一般】選項卡中輸入以下信息
【描述】:刪除所有表
【可執行文件、腳本】:D:\oracle\product\10.2.0\client_1\BIN\sqlplusw.exe
【參數】 #username/#password@ora10g @calldel.sql
【默認路徑】:D:\data\腳本\ (注:步驟一中2個文件存放的位置)
2、切換到【按鈕】選項卡
勾選【工具爛按鈕】
【描述】: 刪除備份表
【圖像】:(注:隨便選一個)
三、把剛纔設置的配置工具,添加到工具欄,方便使用
如下圖,右擊工具爛,點擊定製
把新增的圖標放到已選按鈕這邊