我创建了这个表:
create table user_info(
ID number(3) primary key,
employee_id number(6),
login varchar2(8) not null,
password varchar2(16) not null, check (password>5),
creation_date date default sysdate,
constraint empid_fk foreign key(employee_id) references employees(employee_id)
)
当我想插入某些值时,
insert into user_info values(123,123123,'login','password','08-04-2016');
我收到此错误:
01722. 00000 - "invalid number"
*Cause:
*Action:
有人可以解释插入查询中的错误吗?
答案 0 :(得分:2)
检查(密码> 5)
不会在那里工作。您的密码是varchar2,而不是数字。您无法检查其值是否高于5,因为它不是数字。
如果您要检查其中的字符数,可以使用:
密码varchar2(16)not null CHECK(LENGTH(密码)> 5)