-
Auch wir verwenden Trigger für die 'Historisierung'.
Das gibt uns die Möglichkeit unnötige Historische Daten gar nicht erst zu schreiben.
U.a. weil unsere Anwendung auch mit Software seitigen Sperren arbeitet und dabei auch
konkurierende Updates zulässt. Die Schreib/Lese Programme verwalten alter-Satz, neuer-alter-Satz und neuer Satz. Änderungen an Feldern, z.b. mit technischem Hintergrund, deren Änderung nicht relevant ist, werden bei der Historisierung nicht beachtet. Zunächst ist das aufwändig, aber sehr bewährt.
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Immer wieder ähnliche Konzepte.
Konkurierende Updates sind bei Journalisierung und Transaktionen nicht möglich, das erhöht die Sicherheit. Transaktionen sollten möglichst kurz sein.
Mit SQL sind aber tatsächlich auch ohne Transaktion konkurierende Updates durchaus möglich.
Man beachte nur folgendes:
Additive Updates, die man per "set f = f +/- n" sind unproblematisch.
Statische Updates, die man per "set f = n" durchführt sollten Themenbezogen sein.
In .Net gibts ein kleines Framework, dass mir Updatecommand automatisch generiert.
Diese werden auf DataTable-Objekte angewendet und diese enthalten je Zeile und Spalte einen Original und Current-Value.
Der Update wird daher automatisch ergänzt per "where f = oldvalue ...." je Spalte des Selects.
Da steht es außer Frage, dass der Select nach möglichkeit nur die zu ändernden Spalten enthalten sollte.
Über eine Error-Auflistung erhält man die Zeilen, die nicht geändert werden konnten.
Und zu guter letzt:
In manchen DB's gibts Satzversionen. Z.B. bei der Firebird werden Satzversionen vorgehalten, so dass bei entsprechender Transaktion keine Schmutzdaten (dirty reads) vorkommen. Beim Update gibts einen Fehler, wenn die Satzversion bereits neuer ist als für die Transaktion erwartet.
Beim SQL-Server ist das wohl eher rudimentär. Da gibts die Satzversion nur beim After-Update-Trigger und wiederholten Updates, da der SQL-Server keine Before-Trigger kennt (große Schwachstelle).
Similar Threads
-
By Hubert in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-09-21, 10:37
-
By Robi in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-08-20, 16:33
-
By Peet in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 31-05-17, 10:41
-
By brittner in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 20-02-15, 09:48
-
By Frank.Sobanek in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 16-04-02, 08:01
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks