Einzelnen Beitrag anzeigen

jobo

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

AW: Konzeptfrage zu SQL: in Schleife(?) auf Bedingung prüfen

  Alt 23. Mai 2013, 08:53
Liegen die Daten als Import vor, wäre das Stichwort 'korreliertes Update'
Code:
UPDATE <Tabelle | View>
   SET <Name einer Spalte> = <Ausdruck aus Spalten,
      Konstanten, Funktionen>
      [, weitere Spaltennamen = Ausdruck]
   [FROM <Tabelle> [INNER | LEFT | RIGHT] JOIN <Tabelle>
   ON <Spalte-1 = Spalte-2>]
   WHERE <Bedingung>
Dieses Verfahren dürfte in keinem etablierten RDBMS zu einer Verletzung von Limitierungen führen. Dieses Verfahren lässt sich auch einfach erweitern, wenn es mehrere Kriterien für den eigentlichen Abgleich gibt. 'Where In ()' ist da je nach System nicht so flexibel.
Bleibt als fragwürdige Hürde nur der Kodierungs-Aufwand für den Import.
Vom Performancespekt her ist die Import/korreliertes Update Lösung garantiert unschlagbar. Wenn es um große Datenmengen geht, setzen wir bspw. vor den Import ein gezipptes Upload.
Je nach Importverfahren /-fähigkeiten der DB ist nicht mal ein wirklicher Import notwendig (Stichwort 'external tables'). Man müllt sich die DB nicht zu und muss nichts anlegen/löschen. Die original csv-Dateien können bei Bedarf zu dokumentarischen Zwecken (gezippt) auf dem Serverfilesystem verbleiben.
Gruß, Jo
  Mit Zitat antworten Zitat