我有一个问题,我想创建一个检查Pincode号码的触发器 正好是六位数。或
请告诉我一个详细的答案。
答案 0 :(得分:1)
我想你的意思是你问题中的一个字符列,如果是这样的话 - 你可以在没有触发器的情况下实现这一点,但是使用这样的检查约束:
create table test_1
(
pincode varchar2(20)
constraint test_1$chk$id check (ltrim(pincode, '0123456789') is null and length(pincode)= 6)
);
运行这些插入:
insert into test_1 (pincode) values ('45sdgf65');
insert into test_1 (pincode) values ('4565');
会导致错误:
ORA-02290: check constraint (ANDREW.TEST_1$CHK$ID) violated
但是这个没问题:
insert into test_1 (pincode) values ('034565');