我正在使用Oracle Apex 5尝试创建一个在添加记录时触发的触发器。它应该防止党的规模小于1且大于6。
这是我的代码
create or replace trigger PARTYSIZE_CHECK
before
insert or update of PARTYSIZE
on BOOKING
for each row
begin
if (:new.PARTYSIZE<1 or :new.PARTYSIZE>6)
then raise_application_error(-20601,
'Party Size of ' || :new.PARTYSIZE || ' is too high, must be between 1 and 6. ';
end if;
end;
当我在SQL命令中运行代码时,收到以下错误:
ORA-24344: success with compilation error.
任何人都知道问题是什么?
答案 0 :(得分:1)
您在调用raise_application_error
时缺少右括号答案 1 :(得分:0)
我知道,这几乎是一个2年的讨论。
但是,触发器可能不是应该选择的解决方案 - 在这种情况下,CHECK约束似乎更合适。像
这样的东西CREATE TABLE booking
(partysize INTEGER CONSTRAINT ch_party CHECK (partysize BETWEEN 1 AND 6));