SQL> select * from t1;
ID NAME
---------- ----------------------------------------
1 d
2 b
3 c
4 c
SQL> alter table t1 add constraint t1_u_6 check(id>10) validate;
alter table t1 add constraint t1_u_6 check(id>10) validate
*
第 1 行出现错误:
ORA-02293: 无法验证 (HR.T1_U_6) - 违反检查约束条件
SQL> alter table t1 add constraint t1_u_6 check(id>10) novalidate;
表已更改。
SQL> select * from t1;
ID NAME
---------- ----------------------------------------
1 d
2 b
3 c
4 c
SQL> insert into t1 values(5,'d');
insert into t1 values(5,'d')
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (HR.T1_U_6)
SQL> alter table t1 add constraint t1_u_6 check(id>10) enable novalidate;
表已更改。
SQL> insert into t1 values(6,'d');
insert into t1 values(6,'d')
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (HR.T1_U_6)
SQL> select * from t1;
ID NAME
---------- ----------------------------------------
1 d
2 b
3 c
4 c
SQL> alter table t1 add constraint t1_u_6 check(id>10) disable novalidate;
表已更改。
SQL> select * from t1;
ID NAME
---------- ----------------------------------------
1 d
2 b
3 c
4 c
SQL> insert into t1 values(5,'s');
已创建 1 行。
SQL> commit;
提交完成。
约束的优先级比约束的属性来得高。
SQL> create table t1 (id number,constraint t1_u_6 check(id>3) validate);
表已创建。
SQL> insert into t1 values(1);
insert into t1 values(1)
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (HR.T1_U_6)
SQL> insert into t1 values(5);
已创建 1 行。
SQL> drop table t1 purge;
表已删除。
SQL> create table t1(id number,constraint t1_u_6 check(id>3) novalidate);
表已创建。
SQL> insert into t1 values(1);
insert into t1 values(1)
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (HR.T1_U_6)
SQL> insert into t1 values(5);
已创建 1 行。
SQL> select * from t1;
ID
----------
5
SQL> alter table t1 add constraint t1_u_6 check(id>10) novalidate;
表已更改。
SQL> insert into t1 values(3);
insert into t1 values(3)
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (HR.T1_U_6)
SQL> insert into t1 values(7);
insert into t1 values(7)
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (HR.T1_U_6)
SQL> insert into t1 values(11);
已创建 1 行。
SQL> select * from t1;
ID
----------
5
11