oracle删除用户所有的表

删除用户所有的表,带有级联关系:

 1 --创建存储过程
 2 CREATE OR REPLACE 
 3 PROCEDURE DROPTABLES IS 
 4   V_SQL VARCHAR2(2000); 
 5   CURSOR CUR IS SELECT TABLE_NAME FROM USER_TABLES ORDER BY TABLE_NAME;
 6 BEGIN
 7 FOR ROWS IN CUR LOOP V_SQL := 'drop TABLE ' || ROWS.TABLE_NAME || ' cascade constraints'; 
 8 DBMS_OUTPUT.PUT_LINE(V_SQL); 
 9 EXECUTE IMMEDIATE V_SQL;
10 END LOOP; 
11 EXECUTE IMMEDIATE 'purge recyclebin';
12 END DROPTABLES;
13 --执行存储过程
14 begin
15   -- Call the procedure
16   droptables;
17 end;

建议在执行该存储过程之前先对数据库进行备份。

posted @ 2014-02-10 13:13  尐sんΙ頭  阅读(213)  评论(0编辑  收藏  举报