Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

UPDATE nicht ausführen, wenn nichts?

  Alt 17. Jun 2016, 12:00
Datenbank: postgres • Version: 5.3 • Zugriff über: PgDAC
Warum hat das UPDATE-SQL kein Flag für "tu nichts, wenn sich kein Feld ändert" ?

Wenn ich nicht will, dass Trigger ausgelöst werden, wenn sich nicht ändert, dann darf ich alle Felder im SET nochmal im WHERE gegenprüfen.
> Doppelter Code
> OK, wenn es richtig viel wird, könnte man die Auswertungen z.B. in einen LATERAL-JOIN auslagern und im WHERE/SET nur noch das Ergebnis vergleichen/zuweisen.

SQL-Code:
UPDATE test
SET aaa = hierganzviel
    bbb = hierauchganzviel
WHERE id = ...
  AND aaa IS DISTINCT FROM hiernochmalganzviel
  AND bbb IS DISTINCT FROM hierauchnochmalganzviel
Aber so ein "kurzer" Befehl ala "DISTINCT" wäre doch eigentlich ganz praktisch?
$2B or not $2B
  Mit Zitat antworten Zitat