1

Temat: trigger i pomijanie wpisu - co tu jest nie tak?

mam tabelę 3 kolumny: data, wartosc1, wartosc2
chciałbym żeby nie były wpisywane rekordy gdzie wartosc1 = 1424 i wartosc2 = 0
wyzwalacz

CREATE TRIGGER tri_ai_xxx_w
AFTER
INSERT
ON pojazdy.samochody
FOR EACH ROW
EXECUTE PROCEDURE pojazdy.f_tri_ai_xxx_w();


i jego funkcja

CREATE OR REPLACE FUNCTION pojazdy.f_tri_ai_xxx_w() RETURNS trigger AS
$$
DECLARE
wartosc1 INTEGER;
wartosc2 INTEGER;
BEGIN

IF (NEW.wartosc1 <> 1424 AND NEW.wartosc2 <> 0) THEN
   RETURN NEW;
ELSE
  RETURN NULL;
END;
$$
LANGUAGE PLPGSQL;

problem w tym że wpisywane są wszystkie wartości nawet takie które nie chciałem żeby były wpisywane
co tu jest nie tak?

2

Odp: trigger i pomijanie wpisu - co tu jest nie tak?

Zamień AFTER na BEFORE