Hier lernen Sie, wie Sie Datenbankereignisse konfigurieren und in der Programmierung berücksichtigen.
Ein Trigger (oder Tabellenmethode) prüft Aktionen, die die Datenbank-Engine in Daten ausführt:
Ein Trigger ist im Grunde eine Methode wie jede andere. Es wechselt lediglich der Kontext der Ausführung.
Datenbankereignisse müssen markiert sein, damit 4D die Ausführung des Triggers steuern kann.
Im Inspektor für Tabellen können wir alle 3 Datenbankereignisse aktivieren, mit “Bearbeiten” die Methode festlegen, die beim Auslösen erstellt wird. Ihre Struktur ist wie folgt:
Im Gegensatz zur Formularmethode, die beim Anzeigen oder Drucken ausgeführt wird, wird ein Trigger unabhängig vom Datensatz ausgeführt:
- Programmierung
- Import/Export
- SQL
- Web
- usw.
Der Trigger hat den Vorteil, dass er zwingend durchlaufen wird.
- Wir fügen in der Tabelle Interventions ein Feld Date_Last_Change (Typ Datum) hinzu
- Wir fügen es im Eingabeformular ein
- Und weisen ihm beim Sichern des Datensatzes einen Wert zu:
[Interventions]Date_Last_Change:=Current date
Diese letzte Änderung soll auch beim Erstellen eines Datensatzes gültig sein, daher fügen wir die obige Zeile sowohl in "On Saving Existing Record Event" als auch in "On Saving New Record Event" ein.
Wir testen das beim Ausführen einer Änderung:
- Wir ändern ein Datum in der Liste
- Sichern und gehen zurück. Das Änderungsdatum hat einen Wert erhalten
- Also arbeitet der Trigger korrekt
Hier sollten Sie folgendes beachten:
Beim Aufrufen eines ENGINE Ereignisses gibt es ein wichtiges Detail: Trigger werden auf dem Computer der Datenbank Engine ausgeführt:
- Im Einzelplatz führt ein Computer sowohl den Trigger als auch das aufrufende Ereignis auf, z.B. Anzeigen.
- Im Client/Server Modus (SQL Server oder Web Server) werden die Daten auf dem Server gespeichert und über die 4D Server Engine an den Client Rechner gesendet. In diesem Fall werden Trigger auf dem Server und nicht lokal auf den Client Rechnern ausgeführt.
Sie sollten generell dazu übergehen, Projektmethoden zu erstellen, die bestimmte Abläufe, Berechnungen, o.ä. abwickeln und diese "generischen" Methoden dann über spezifische Methoden wie Trigger aufrufen.
Wir haben gesehen, wie Parameter übergeben werden, also nutzen Sie diese. Das lässt sich viel einfacher pflegen und Sie sparen erheblich Zeit beim Entwickeln und Beheben von Fehlern. Ihr Code wird präziser, verlässlicher und leichter lesbar.
Sie können auch verschachtelte Trigger ausführen. 4D bietet Befehle zum Herausfinden der Trigger Eigenschaften und seiner hierarchischen Ebene.
Ein Trigger kann auch dazu dienen, eine bestimmte Operation in einem Datensatz zuzulassen oder zurückzuweisen.
Dies ist ein Weg, die Integrität Ihrer Datenbank sicherzustellen, unabhängig wie die Information eingetragen wird:
- SQL
- Plug-In
- Eingabe
- Import
- Web
Da ein Trigger die anderen Prozesse in der Ausführung blockiert, sind die wichtigsten Kriterien für einen Trigger:
- rasche Ausführung
- keine Oberfläche (Warnungen, Meldungen, etc.)