Oracle 清空/删除数据库全部的表
在测试数据库脚本可用性的时候,会新建一个用户然后执行脚本,测试成功之后,需要清空表。在百度上找到一篇写得很不错的文章,补充改善了一些内容。注意:1、2、3、5步的脚本直接复制运行即可,无需改动任何地方;4步中需要修改成你使用的用户名。将记录中的语句复制出来,执行一遍。将记录中的语句复制出来,执行一遍。将记录中的语句复制出来,执行一遍。将记录中的语句复制出来,执行一遍。将记录中的语句复制出来,执行一
·
背景
在测试数据库脚本可用性的时候,会新建一个用户然后执行脚本,测试成功之后,需要清空表。在百度上找到一篇写得很不错的文章,补充改善了一些内容。
执行步骤
注意: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';
将记录中的语句复制出来,执行一遍
参考文章
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献9条内容
所有评论(0)