某系统有600张表,要求删除业务数据,但保存了基础数据(部门和人员等)和词典数据。
外键关联决定了删除的优先级,因此在一个表中删除一个表会增加工作量。
可以在删除之前禁用外键,并在删除完成后启用外键。
当然,上次启用时发现不应该删除的数据已被删除,所以在删除之前最好进行完全备份。
用于禁用外键的脚本:
slect ' alter table '|t.table _ name|| ' disable constraint '|t.constraint _ name||; '
fromuser _ constraintstwheret.constraint _ type=' r '
order by t.table_name
用于启用外键的脚本:
选择' alter table '|t.table _ name|| ' enable constraint '|t.constraint _ name||; '
fromuser _ constraintstwheret.constraint _ type=' r '
order by t.table_name