AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi UPDATE nicht ausführen, wenn nichts?
Thema durchsuchen
Ansicht
Themen-Optionen

UPDATE nicht ausführen, wenn nichts?

Ein Thema von himitsu · begonnen am 17. Jun 2016 · letzter Beitrag vom 21. Jun 2016
 
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#17

AW: UPDATE nicht ausführen, wenn nichts?

  Alt 20. Jun 2016, 12:55
So ala dem SELECT DISTINCT ... (EIN Befehl zum Filtern von Wiederholungen) vielleicht ein UPDATE CHANGED table SET ... .

Im Prinzip kann ich ja "einfach" Den TEIL aus dem SET ins WHERE kopieren,
drumrum ein AND ( ...) , aus den Kommas je ein OR und fertig.
Der Teil in meinem Vorschlag, der mit dem "Except" arbeitet, dient genau dazu, den Vergleich "Bestandsdaten zu Änderungen" zu übernehmen und bei Gleichheit eine leere Menge auszuspucken, sodass Update ins Leere läuft (siehe Thema des Threads), also 0 Rows affected.
Mit And/Or Muss man da innerhalb der Felder nichts machen, AND/OR benötigt man nur, um die Basisbedingung* des Update mit dem Except Teil zu verbinden.
Die Syntax bei PG erlaubt nun das Update genauso aufzubauen, wie eine Select Clause, einfach eine Feld- bzw Werteliste eintragen.
Damit ist "notfalls" dann das Generieren, eines solchen Statements sehr simpel.

@SirRufo: Was meinst Du in #13 mit "soetwas". Ich kenne nur updates, deren Updatecount (Rows Affected) über die Where Bedinung definiert sind.

@p80286: Die Anhängigkeit des Updates von anderen Feldern war nicht gefragt, sondern "hat sich überhaupt was geändert" oder? Aber so oder so, wenn das Update allein den Umfang der Updates bestimmt (ohne Trigger), hat man die größte Flexibilität.

*Die Basisbedinung kann natürlich auch n Haufen And/Or enthalten, aber das war nicht gemeint oder?
Gruß, Jo
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz