0
我有表下面的定义在我的数据库无法插入一行到表约束
CREATE TABLE Products
(
PartNo CHAR (6) NOT NULL ,
Description VARCHAR2 (16) NOT NULL ,
Weight SMALLINT NOT NULL
) ;
ALTER TABLE Products ADD CONSTRAINT CK_PartNo CHECK (PartNo LIKE '[0-9][A-Z][0-9][0-9][0-9][0-9]') ;
ALTER TABLE Products ADD CONSTRAINT Products_PK PRIMARY KEY (PartNo) ;
当我尝试插入一行我得到不符合约束检查的错误。
insert into PRODUCTS(PARTNO, DESCRIPTION, WEIGHT)
values('1W1234', 'O-ring', 1);
*Action: do not insert values that violate the constraint.
Error starting at line : 1 in command -
insert into PRODUCTS(PARTNO, DESCRIPTION, WEIGHT)
values('1W1234', 'O-ring', 1)
Error report -
SQL Error: ORA-02290: check constraint (DEMO.CK_PARTNO) violated
02290. 00000 - "check constraint (%s.%s) violated"
*Cause: The values being inserted do not satisfy the named check
LIKE不知道正则表达式 - 试试REGEXP_LIKE函数(但我不确定检查constranits是否支持这个函数)。 – krokodilko