不确定为什么我得到这个错误,没有真正的线索,我用psql做什么,但如果有人可以帮助ID欣赏它
create or replace trigger gender_check
before insert or update of gender
on volunteer
for each row
begin
if (:new.volunteer.gender != 'M' or :new.volunteer.gender != 'F')
then raise_application_error(-20601,
'Gender is invalid, please insert M or F');
end if;
end;
答案 0 :(得分:0)
您的if
条件应为:
if (:new.gender <> 'M' and :new.gender <> 'F')
使用or
,所有非空值都会传递条件,因为'M'
&lt;&gt; 'F'
。
重要的更改是和以及volunteer
的删除,它似乎是表名。
更好的方法是:
if (:new.gender not in ('M', 'F'))