加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 删除Oracle中的架构中的所有内容

发布时间:2020-12-12 08:33:47 所属栏目:MsSql教程 来源:网络整理
导读:是否可以删除Oracle中的所有内容?我发现这个脚本: Beginfor c in (select table_name from user_tables) loopexecute immediate ('drop table '||c.table_name||' cascade constraints);end loop;End; 但是我想知道是否有任何东西放在模式,索引,表格,约束…
是否可以删除Oracle中的所有内容?我发现这个脚本:
Begin
for c in (select table_name from user_tables) loop
execute immediate ('drop table '||c.table_name||' cascade constraints);
end loop;
End;

但是我想知道是否有任何东西放在模式,索引,表格,约束…但不是模式(drop user …)中.

谢谢.

解决方法

通常,删除和添加用户是最简单的.如果您对系统或sysdba访问数据库,则这是首选方法.

如果您没有系统级访问权限,并且要擦除模式,则以下sql将生成一系列的drop命令,然后可以执行.

select 'drop '||object_type||' '|| object_name|| DECODE(OBJECT_TYPE,'TABLE',' CASCADE CONSTRAINTS;','') || ';'  from user_objects

然后,我通常清理回收站,真正清理干净.说实话,我没有看到很多用于oracle的回收站,希望我可以禁用它,但无论如何:

purge recyclebin;

这将产生一个drop语句列表.并非所有这些都将执行 – 如果您使用级联降级,则丢弃PK_ *索引将失败.但是最终你会有一个很干净的模式.确认:

select * from user_objects

另外,只要添加,您的问题中的Pl / sql块将只删除表,它不会删除所有其他对象.

ps:从某个网站复制,对我有用.测试和工作像一个魅力.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读