1、判断需要建主键约束的字段是否存在索引,若无索引,采用online方式创建索引。
2、新增主键约束,仅对新加入的数据强制执行约束,而不管表中的现有数据,采用关键字 enable novalidate。
alter table TABLE_NAME add constraint PK_COL_NAME primary key(COL_NAME) enable novalidate;
3、修改约束的类型为validate。
alter table TABLE_NAME modify constraint PK_COL_NAME validate;
注:约束的四种类型
1、启用约束
enable(validate): 启用约束, 创建索引, 对已有及新加入的数据执行约束.
enable novalidate: 启用约束, 创建索引, 仅对新加入的数据强制执行约束, 而不管表中的现有数据.
2、禁用约束
disable(novalidate): 关闭约束, 删除索引, 可以对约束列的数据进行修改等操作.
disable validate: 关闭约束, 删除索引, 不能对表进行插入/更新/删除等操作.