PLSQL触发器:插入之前

时间:2014-04-12 11:33:43

标签: oracle plsql triggers

我试图写一个在插入前必须限制零工资的触发器。 我写了但是没有用。我收到错误,因为触发器无效且无法重新验证。

代码:

create or replace trigger emp_sal
  before insert or update on employee
  referencing new as new old as old
  for each row
begin
     if :new.salary<=0 then
         raise_application_error (-20999,’salary is zero’);
     end if;
end;
/

请告诉我问题所在。谢谢

1 个答案:

答案 0 :(得分:0)

您的代码没问题。我能想象到的唯一问题是你在“薪水为零”中使用了错误的单引号字符。

在您创建触发器后立即运行show errors(假设您正在使用sqlplus)

但我同意zerkms。这是检查约束的一种情况。