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

前端之家收集整理的这篇文章主要介绍了sql – 删除Oracle中的架构中的所有内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以删除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:从某个网站复制,对我有用.测试和工作像一个魅力.

猜你在找的MsSQL相关文章