Re: Trigger bewirkt Endlosschleife?!

From: Ewald Geschwinde <webmaster(at)geschwinde(dot)net>
To: André Laugks <andre(dot)laugks(at)netcologne(dot)de>
Cc: pgsql-de-allgemein(at)postgresql(dot)org, pgusers(at)postgres(dot)de
Subject: Re: Trigger bewirkt Endlosschleife?!
Date: 2006-09-07 20:24:29
Message-ID: 45007FFD.2000305@geschwinde.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

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
>
>

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Susanne Ebrecht 2006-09-27 16:49:27 Freiwilliger Helfer für Systems 2006 gesucht
Previous Message A. Kretschmer 2006-09-07 16:58:28 Re: Trigger bewirkt Endlosschleife?!