我在基于Oracle APEX的应用程序中有一个表单,我想在提交按钮上进行验证,这样两个特定条目的组合,如果它们已经存在于SQL表/视图中,我想显示一个警告,比如"a和B的值组合的条目已经存在,请输入正确的值。">
如果两个特定条目由两个表单项(例如:P1_ONE
和:P2_TWO
)表示,则验证过程可能是一个返回错误文本的函数,例如
declare
l_cnt number;
retval varchar2(200);
begin
select count(*)
into l_cnt
from your_table t
where t.column_one = :P1_ONE
and t.column_two = :P1_TWO;
if l_cnt > 0 then
retval := 'The entry for this combination already exists';
end if;
end;
查询本身可能需要修改,这取决于您描述问题的确切含义;我就是这么理解的。
然后您应该在表上有一个唯一的约束,并让它验证传入的数据。
任何违反此约束的行为都会引发异常,可以在APEX错误处理过程中进行转换。