create table demo4
(
id1 int not null,
id2 int not null,
name varchar2(10) not null,
sex varchar2(10) null,
flag int null,
birth date null,
num1 int null,
num2 int null,
constraint pk_demo primary key(id1,id2),
constraint U_2 unique(name),
constraint C_2 check(sex in('male','female','no')),
constraint C_3 check(flag=0 or flag=1),
constraint C_4 check(num1 > 0 and num1 < 100),
constraint C_5 check(num2 > 0 and num2 < 100),
constraint C_6 check(num1+num2 > 10 and num1+num2 < 150),
constraint C_7 check(birth > to_date('1900-01-01','yyyy-mm-dd') and birth < sysdate)
)
最后一句有问题,
出现如下错误:
ORA-02436: 日期或系统变量在 CHECK 约束条件中指定错误请各位兄弟姐妹帮看下呗!!
(
id1 int not null,
id2 int not null,
name varchar2(10) not null,
sex varchar2(10) null,
flag int null,
birth date null,
num1 int null,
num2 int null,
constraint pk_demo primary key(id1,id2),
constraint U_2 unique(name),
constraint C_2 check(sex in('male','female','no')),
constraint C_3 check(flag=0 or flag=1),
constraint C_4 check(num1 > 0 and num1 < 100),
constraint C_5 check(num2 > 0 and num2 < 100),
constraint C_6 check(num1+num2 > 10 and num1+num2 < 150),
constraint C_7 check(birth > to_date('1900-01-01','yyyy-mm-dd') and birth < sysdate)
)
最后一句有问题,
出现如下错误:
ORA-02436: 日期或系统变量在 CHECK 约束条件中指定错误请各位兄弟姐妹帮看下呗!!
其他的都类似
其中SYSDATE在建表中不能使用,去除或者改为具体的日期即可