Postgresql Trigger für Spalte

  • Hallo,

    Gibt es eine Möglichkeit einen Trigger in einer Postgresql Tabelle erst auszulösen wenn es in einer bestimmten Spalte ein Update gegeben hat?
    im Moment geht es nur wenn irgendwo auf einer Zeile ein Update durchgeführt wird.

    noch besser wäre es wenn in dieser Spalte auf einen gewissen Wert Upgedatet wird.

    Code
    CREATE TRIGGER date_lastchange
        BEFORE UPDATE 
        ON public.arbeitsauftrag
        FOR EACH ROW
        EXECUTE PROCEDURE public.date_lastchange();

    mfg Peter

    • Offizieller Beitrag

    Für PostgreSQL kann ich nicht direkt sprechen, aber ich vermute, dass es das kann.
    Die Doku sollte das aber beantworten können.

    Als kleine Hilfe evtl.: In T-SQL erreiche ich das mit einer simplen IF Abfrage innerhalb des Trigger:


    EDIT: Gerade mal hier gefunden: https://stackoverflow.com/questions/3957…ns-have-changed
    Du kannst also NEW und OLD vergleichen:

    Code
    IF NEW.column_name <> OLD.column_name THEN
    ...
    END IF
  • Hallo,

    Danke

    Werde ich Probieren
    Habe danach gesucht bin aber bis jetzt immer auf komplettes Zeilen Update gestossen und nie auf genauere Spalten.

    mfg Peter