如何删除带有外键关系的主表,并快速重建相应的外键关系 ref_constraint

1,备份主表数据。可以用 CREATE TABLE AS SELECT 方式。

2,执行ORACLE自带的DDL生成函数,生成外键重建脚本。

3,删除主表时要加上级联子句,否则删不掉。

4,重建主表,并建上主键约束。

5,从备份表中导入主表数据

6,执行外键脚本。

7,检查没有错误,结束。

----相关参考代码:

drop table hl_dw.DIM_STOREGROUP cascade constraint ;
create table DIM_STOREGROUP 
(
.....
) ;

-- script to generate the ref constraint creation DDL.Here we will collect all the foreign constraint of primary constraint PK_DIM_STOREGROUP .

select 
to_char(dbms_metadata.get_ddl( 'REF_CONSTRAINT', CONSTRAINT_NAME , OWNER )) ref_ddl , r.* 
from dba_constraints r
where r_constraint_name='PK_DIM_STOREGROUP' ;

猜你喜欢

转载自dbajun.iteye.com/blog/2076810