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' ;