SQL: Trigger auf einzelne Zeile oder Feld

  • Hi,

    ich wuesste gerne ob es in PostgreSQL (oder generell in SQL) die Moeglichkeit gibt, dass ein Trigger nur auf eine Zeile oder nur ein Feld einer Tabelle horcht, nicht auf die ganze Tabelle.

    Also zum Bsp.:
    Ich hab eine Tabelle
    create table person (
    name text,
    adresse text,
    triggerFeld integer,
    primary key (name));

    und jetzt haette ich gern einen Trigger, der auf eine Aenderung des Felds triggerFeld in einer bestimmten Zeile reagiert.
    So à la:

    create trigger seppTrigger after update
    on (select triggerFeld from person where name = 'sepp')
    update ...

    oder statt update auch ein execute function oder so.

    gibt's das nicht? kennt da wer was?

    danke und lg,
    b

    throw away your television

  • das wird wohl kaum funktionieren.

    es wird der trigger ausgeführt, wenn sich in der tabelle eine änderung ergibt.
    du kannst ja im trigger selbst überprüfen, ob es sich um die gewünsche/unerwünschte änderung handelt.

    lg

  • ja, danke fuer die antwort.

    wir haben's inzwischen anders geloest: wir speichern in jeder zeile zusaetzlich zum andern zeug die sql-commands, die wir bei einer aenderung ausgefuert haben wollen, als string. der trigger ruft dann eine funktion auf, die diesen string als sql-befehl ausfuehrt. das loest unser problem auch, und ist sogar besser, da nur ein trigger existiert.

    lg

    throw away your television

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!