Podnoszenie błędu w postgreSQL

CREATE OR REPLACE FUNCTION msgfailerror() RETURNS trigger AS 
' BEGIN 
    IF NEW.noces< new.first_column THEN 
        RAISE EXCEPTION 'cannot have a negative salary'; 
    END IF; 
   return new; 
END' LANGUAGE plpgsql

Spust

create trigger msgfail before insert on first for each row 
execute procedure msgfailerror()

Dawanie błędu:

Błąd składni na lub w pobliżu „nie można” LINIA 5: WYJĄTEK WYJĄTKU „nie może mieć negatywu ...

Mam prawie jedną walidację dla każdego pola wiersza. Chcę, aby wyzwalacz sprawdził wszystkie walidacje podczas wstawiania, a następnie raz na zawsze podnieś dziennik błędów. Czy powinienem użyć wyjątku podniesienia w powiadomieniu o podniesieniu?

Na przykład:

Insert into first (first_column, noces,dob) values ('4545','75','545') 

sprawdzamnoces jest mniej niżfirst_column, dla tego samego wiersza chcę sprawdzić, czy jest> 80 i czy first_column jest liczbą całkowitą i podnieść błąd dla wszystkich walidacji. Z góry dziękuję

questionAnswers(3)

yourAnswerToTheQuestion