Re: Trigger bewirkt Endlosschleife?!
André Laugks schrieb:
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
naja bin zwar schon etwas erledigt aber du nachwst after trigger auf die
table in der du selber ein update durchfürst im trigger
update -> trigger (update -> trigger (update -> trigger ....
du rufst den trigger im trigger auf ;)
lg Ewald
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq
Home |
Main Index |
Thread Index