Trigger bewirkt Endlosschleife?!

From: André Laugks <andre(dot)laugks(at)netcologne(dot)de>
To: pgsql-de-allgemein(at)postgresql(dot)org, pgusers(at)postgres(dot)de
Subject: Trigger bewirkt Endlosschleife?!
Date: 2006-09-07 15:50:43
Message-ID: 1946014784.20060907175043@netcologne.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo!

Ich habe einen Trigger erstellt, dass nachdem ein Datensatz geupdatet
wurde, in dem Feld "time_update" der aktuelle Timestamp gesetzt
wird.

Ich werde das Gefühl nicht los, dass es dabei zu einer Endlosschleife
kommt, weil die die Funktion set_time_update () ein Update durchführt
und PostgreSQL benötigt eine Weile und liefert dann die Fehlermeldung
zurück, dass ich den von max_stack_depth anpassen sollte.

CREATE TRIGGER tg_set_time_update AFTER UPDATE
ON object FOR EACH ROW
EXECUTE PROCEDURE set_time_update();

CREATE OR REPLACE FUNCTION set_time_update () RETURNS trigger AS
$$
BEGIN
EXECUTE 'UPDATE ' || quote_ident(TG_RELNAME) || ' SET time_update = now() WHERE oid =' || quote_literal(OLD.oid);
RETURN NULL;
END;
$$
LANGUAGE 'plpgsql';

André Laugks

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message A. Kretschmer 2006-09-07 16:58:28 Re: Trigger bewirkt Endlosschleife?!
Previous Message udono 2006-08-28 14:30:05 Re: UPDATEs als Bündel