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ę