stack depth limit exceeded
Bonjour,
je viens de faire une procédure ainsi qu'un trigger:
Code:
1 2 3 4 5
| CREATE TRIGGER init_n
BEFORE INSERT OR UPDATE
ON matable
FOR EACH ROW
EXECUTE PROCEDURE init_null(); |
Code:
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; |
dès que 'ajoute un enregistrement, je récupère l'erreur
Citation:
ERROR: stack depth limit exceeded;
Error while executing the query
et donc ça plante sans enregistrer le moindre élément dans ma table. quelqu'un pourrait m'aider?
Merci.