背景
在测试数据库脚本可用性的时候,会新建一个用户然后执行脚本,测试成功之后,需要清空表。在百度上找到一篇写得很不错的文章,补充改善了一些内容。
执行步骤
注意:1、2、3、5步的脚本直接复制运行即可,无需改动任何地方;4步中需要修改成你使用的用户名
- 禁用当前用户下的全部约束
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;
将记录中的语句复制出来,执行一遍
- 生成删除所有表的语句
select 'drop table '||table_name||';' as sqlscript from user_tables;
将记录中的语句复制出来,执行一遍
- 删除当前用户下所有的sequence
select sequence_owner, 'drop sequence' || sequence_name || ';' as sqlscript from dba_sequences where sequence_owner = '你的用户名'
将记录中的语句复制出来,执行一遍
- 启用数据库中所有表的约束
select 'alter table ' || table_name || ' enable constraint ' ||
constraint_name || ';'
from user_constraints
where constraint_type = 'R';
将记录中的语句复制出来,执行一遍