Bonjour,
je viens de faire une procédure ainsi qu'un trigger:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TRIGGER init_n BEFORE INSERT OR UPDATE ON matable FOR EACH ROW EXECUTE PROCEDURE init_null();dès que 'ajoute un enregistrement, je récupère l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 CREATE OR REPLACE FUNCTION init_null() RETURNS "trigger" AS $BODY$ BEGIN IF (TG_OP = 'UPDATE') THEN UPDATE matable SET prsadr=NULLIF(NEW.c1,'0'), prsfax=NULLIF(NEW.c2,'0'), prspor=NULLIF(NEW.c3,'0'), prstel=NULLIF(NEW.c4,'0'), prsfon=NULLIF(NEW.c5,'0'); ELSIF (TG_OP = 'INSERT') THEN INSERT INTO matable VALUES (NEW.c1,NEW.c2,NEW.c3,NEW.c4,NEW.c5,NEW.c6); RETURN NEW; END IF; END $BODY$ LANGUAGE 'plpgsql' VOLATILE; ALTER FUNCTION init_null() OWNER TO postgres;et donc ça plante sans enregistrer le moindre élément dans ma table. quelqu'un pourrait m'aider?ERROR: stack depth limit exceeded;
Error while executing the query
Merci.
Partager