表级定义(先定义表,在定义约束) create table cde01(id number,name varchar2(20),constraint cde01_id_pk primary key(id)); 列级定义(约束与表的定义同时进行) create table cde01(id number constraint cde01_id_pk primary key,name varchar2(20));
不管表级还是列级定义,内部都是先定义表,再创建约束。
约束的禁用与启用 约束的校验与不校验
如果约束被禁用,但校验还有开启的,表将不能DML alter table cde01 disable validate constraint xxx; 如果约束被启用,但不开启校验,则表对添加约束前的数据不校验,但对添加约束后的数据开启校验。 alter table cde01 enable novalidate constraint xxx; 如果是主键,以上操作无效,要先在对应的字段建立一个普通的索引。 create index idx_cde01_id on cde01(id); |