我的问题:我的文字字段大小是110个字符,我有一个像下面的条件
IF :blk.item = 'OTH' then
do not allow to enter more than 100 character;
END IF;
如果字段达到100个字符,则不应允许输入下一个字符。
如何在oracle运行时使用它?有没有办法在运行时避免场地长度,谢谢你的宝贵答案。
我使用以下代码
对该项目使用/尝试触发'when-validate-item'IF :blk.item = 'OTH' then
if length(:blk.item1)> 100 then
raise form_trigger_failure;
end if;
END IF;
答案 0 :(得分:0)
您可以创建约束检查。请参阅下面的示例并根据您的需要进行更改:
create table test (
value varchar2(10),
item varchar2(3)
);
alter table test add constraint ck_item_size
check ( (item = 'OTH' and length(value)<=8) or (item != 'OTH') );
insert into test values ('12345678', 'OTH'); --will work
insert into test values ('blahblah', 'BLA'); --Will work
insert into test values ('blahblahbl', 'BLE'); --will work
insert into test values ('123456789', 'OTH'); --will not work
在小提琴上看到它,工作示例:http://sqlfiddle.com/#!4/df281
对于Wont work示例,将最后一行粘贴到小提琴上并尝试构建。