Forum: Datenbanken
Delphi
by Sir Rufo,
20. Jun 2016
Wenn das mit dem TimeStamp/RecordsAffected nicht ausreicht wird man auf so ein Konstrukt zurückgreifen müssen.
Da dieses Konstrukt aber gewissen Regeln folgt, kann man sich auch ein kleines Programm schreiben, was einem die Erstellung dieser Statements erleichtert :stupid:
Forum: Datenbanken
Delphi
by Sir Rufo,
20. Jun 2016
Darum sagte ich ja auch in der Anwendung kann man RecordsAffected abfragen - im Trigger verwendet man den TimeStamp
Forum: Datenbanken
Delphi
by Sir Rufo,
20. Jun 2016
Hmmm, UPDATE hat so etwas schon eingebaut.
Für den Trigger verwendet man ein TIMESTAMP Feld und in der Anwendung fragt man nach der Ausführung RecordsAffected ab (was dann 0 ist, wenn die Werte gleich waren).
Man kann sich das auch selber zusammenbauen wenn einem das nicht reicht
Forum: Datenbanken
Delphi
by Sir Rufo,
19. Jun 2016
Aber warum so umständlich, wenn man das mit einem TIMESTAMP Feld komplett erschlagen kann?
Forum: Datenbanken
Delphi
by Sir Rufo,
17. Jun 2016
Nur mal so dahingedacht:
Der UPDATE-Trigger wird immer ausgelöst, wenn ein UPDATE Statement abgesetzt wird.
Ein TIMESTAMP Feld (mit ON UPDATE CURRENT_TIMESTAMP) wird nur dann aktualisiert, wenn sich wirklich Daten in der Zeile ändern.
Im UPDATE-Trigger braucht man jetzt also nur noch zu prüfen, ob es eine Änderung im TIMESTAMP Feld gibt (IF OLD.ts <> NEW.ts THEN) und schon kann man darauf...