Oracle apex 5上的触发器出错

时间:2016-01-11 10:39:31

标签: oracle triggers oracle-apex

我正在使用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.

任何人都知道问题是什么?

2 个答案:

答案 0 :(得分:1)

您在调用raise_application_error

时缺少右括号

答案 1 :(得分:0)

我知道,这几乎是一个2年的讨论。

但是,触发器可能不是应该选择的解决方案 - 在这种情况下,CHECK约束似乎更合适。像

这样的东西
CREATE TABLE booking
  (partysize   INTEGER CONSTRAINT ch_party CHECK (partysize BETWEEN 1 AND 6));