2016-12-18 5 views
0

не знаю, почему им получать эту ошибку, никакой реальной разгадка, что им не делать с PSQL, но если кто-нибудь может помочь идентификатор оценить егоORA-24344: успех ошибки компиляции/запуска

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

Ваше if условие должно быть :

if (:new.gender <> 'M' and :new.gender <> 'F') 

с or, все не-NULL значения будут передавать состояние, потому что 'M' <>'F'.

Важным изменением является и и удаление volunteer, которое, как представляется, является именем таблицы.

Лучший способ написать это:

if (:new.gender not in ('M', 'F'))