背景

在测试数据库脚本可用性的时候,会新建一个用户然后执行脚本,测试成功之后,需要清空表。在百度上找到一篇写得很不错的文章,补充改善了一些内容。

执行步骤

注意:1、2、3、5步的脚本直接复制运行即可,无需改动任何地方;4步中需要修改成你使用的用户名

  1. 禁用当前用户下的全部约束
select 'alter table ' || table_name || ' disable constraint ' ||
constraint_name || ';'
from user_constraints
where constraint_type = 'R';

将记录中的语句复制出来,执行一遍
2. 生成清空所有表中的数据的语句

select 'truncate table '||table_name||';' from user_tables;

将记录中的语句复制出来,执行一遍

  1. 生成删除所有表的语句
select 'drop table '||table_name||';' as sqlscript from user_tables;

将记录中的语句复制出来,执行一遍

  1. 删除当前用户下所有的sequence
select sequence_owner, 'drop sequence' || sequence_name || ';' as sqlscript from dba_sequences where sequence_owner = '你的用户名'

将记录中的语句复制出来,执行一遍

  1. 启用数据库中所有表的约束
select 'alter table ' || table_name || ' enable constraint ' ||
constraint_name || ';'
from user_constraints
where constraint_type = 'R';

将记录中的语句复制出来,执行一遍

参考文章

直达链接:https://www.cnblogs.com/zouhong/p/15428142.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐