Hallo,
Meine Frage ist vielleicht für die Profis blöd aber als SQL-firebird-newbie hoffe ich ihr könnt mir helfen.
Mein Problem:
In einer Datenbank speichere ich auch immer einen "changecounter" wenn ein Datensatz "geupdatet" wird über einen before update Trigger
changecounter sollen aber nur! aktualisiert werden, wenn sich tatsächlich die anderen Daten geändert haben - also nicht wenn die Daten unverändert noch mal geschrieben werden.
Einen Vergleich
gibt es soweit ich das verstanden habe nicht, sondern ich muss jedes Feld einzeln vergleichen
also bei eine Datenbank mit 40 Felder
gibt es da keine "einfachere Lösung" ?
Meine Frage ist vielleicht für die Profis blöd aber als SQL-firebird-newbie hoffe ich ihr könnt mir helfen.
Mein Problem:
In einer Datenbank speichere ich auch immer einen "changecounter" wenn ein Datensatz "geupdatet" wird über einen before update Trigger
changecounter sollen aber nur! aktualisiert werden, wenn sich tatsächlich die anderen Daten geändert haben - also nicht wenn die Daten unverändert noch mal geschrieben werden.
Einen Vergleich
Code:
if (new is distinct from old) then anderung=1;
also bei eine Datenbank mit 40 Felder
Code:
anderung=0; if (new.feld1 is distinct from old.feld1 then anderung=1; if (new.feld2 is distinct from old.feld2 then anderung=1; .... if (new.feld40 is distinct from old.feld40 then anderung=1; if (anderung=1) then NEW.changecounter = OLD.changecounter +1;
Comment