最近有需求想使用SQL语句将数据库下的所有表、视图、SEQUENCE等全部删除。下面SQL语句可以实现该需求,分享一下,希望帮到大家。在ORACLE 11G下使用正常
BEGIN
FOR i IN (SELECT us.sequence_name
FROM USER_SEQUENCES us) LOOP
EXECUTE IMMEDIATE 'drop sequence '|| i.sequence_name ||'';
END LOOP;
FOR i IN (SELECT ut.table_name
FROM USER_TABLES ut) LOOP
EXECUTE IMMEDIATE 'drop table '|| i.table_name ||' CASCADE CONSTRAINTS ';
END LOOP;
FOR i IN (SELECT view_name FROM user_views) loop
EXECUTE IMMEDIATE 'drop view ' || i.view_name;
END loop;
END;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13176.html