Einzelnen Beitrag anzeigen

jobo

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

AW: FB: Unique Index auf Datum und Uhrzeit

  Alt 3. Feb 2018, 07:27
Hallo,
Zitat:
Vor dem Insert manuell auf Eindeutigkeit zu prüfen macht m.E. keinen Sinn
Doch macht es, weil man dann eine schöne Meldung bringen kann ala "Datensatz bereits vorhanden".
Aus der DB-Exception herauszufinden, warum der Datensatz nicht angelegt werden konnte, ist schwerer.
Also es gibt nur wenige Meldungen, die so eindeutig sind wie eine Primärschlüsselverletzung- Fehlermeldungen bestehen ja originär aus einer Nummer, die man in der Exception abfangen kann. Die Natur des Fehlers "Primärschlüsselverletzung" bedeutet prinzipbedingt, dass auch keine weiteren Fehler aus der Anweisung folgen.
Es besteht also gar nicht die Möglichkeit, dass das System andere Fehler liefert, falsche Fremdschlüssel oder was auch immer bemeckert, weil es soweit gar nicht kommt.

Und es gilt auch was Delphi.Narium schreibt, in einem Mehrbenutzersystem ist eine manuelle Duplikat-Prüfung Glückssache. Außer:
- manuelle Prüfung und tatsächliches Insert werden in einer Transaktion durchgeführt
- die fachliche Datenlage erlaubt gar keine Duplikate (dann brauche ich aber auch keine Prüfung)

Im Zusammenhang mit der Thematik Date/Time Value als Teil des Primärschlüssels kommt hinzu, das die Fachlichkeit unscharf wird und sich die Frage stellt, was dieses Konstrukt eigentlich regulieren soll. Eine Art Floodlimit, ..?

Wenn 2 Sachbearbeiter in einem Büro einen Stapel von Bauanträgen eintippen, kann nichts passieren.
Wenn 2 Verkäufer am Telefon eines Verkaufssenders die letzten 3 Superdampfbügeleisen verkaufen, sieht es allerdings anders aus.
Gruß, Jo
  Mit Zitat antworten Zitat