删除所给模式中的所有对象

来源:互联网 发布:linux jobs命令加减号 编辑:程序博客网 时间:2024/04/28 07:06
SET SERVEROUTPUT ONDECLARE  l_count    NUMBER;  l_cascade  VARCHAR2(40);BEGIN  FOR i IN 1 .. 3 LOOP    EXIT dependency_failure_loop WHEN l_count = 0;    l_count := 0;        FOR cur_rec IN (SELECT object_name, object_type                     FROM   user_objects) LOOP      BEGIN        l_count := l_count + 1;        l_cascade := NULL;        IF cur_rec.object_type = 'TABLE' THEN          l_cascade := ' CASCADE CONSTRAINTS';        END IF;        EXECUTE IMMEDIATE 'DROP ' || cur_rec.object_type || ' "' || cur_rec.object_name || '"' || l_cascade;      EXCEPTION        WHEN OTHERS THEN          NULL;      END;    END LOOP;    -- Comment out the next line if you are pre-10g    EXECUTE IMMEDIATE 'PURGE RECYCLEBIN';    DBMS_OUTPUT.put_line('Pass: ' || i || '  Drops: ' || l_count);  END LOOP;END;/
 
原创粉丝点击