Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Gespeicherte Prozeduren und Trigger » Prozeduren, Trigger und Batches verwenden

 

Vorteile von Prozeduren und Triggern

Prozeduren und Trigger verbessern die Sicherheit, den Wirkungsgrad und die Standardisierung der Datenbanken.

Definitionen für Prozeduren und Trigger erscheinen in der Datenbank getrennt von einer Datenbankanwendung. Diese Trennung bietet mehrere Vorteile.

Standardisierung

Prozeduren und Trigger standardisieren Aktionen, die von mehr als einem Anwendungsprogramm vorgenommen werden. Indem die Aktion einmal in einen Programmcode geschrieben und in der Datenbank gespeichert wird, brauchen die Anwendungen die Prozeduren nur aufzurufen oder den Trigger auszulösen, um wiederholt das gewünschte Ergebnis zu erzielen. Da die Änderungen nur an einer Stelle vorgenommen werden, übernehmen alle Anwendungen, die diese Aktion verwenden, automatisch die neuen Funktionen, sobald die Implementierung der Aktion geändert wird.

Wirkungsgrad

Prozeduren und Trigger, die in einem Netzwerk-Datenbankserver verwendet werden, können auf die Daten in der Datenbank zugreifen, ohne dass Datenverkehr über das Netzwerk erforderlich ist. Das bedeutet, dass sie schneller und mit weniger Auswirkungen auf die Netzlast ausgeführt werden können, als wenn sie in einer Anwendung auf einem der Clientcomputer eingerichtet worden wären.

Prozeduren oder Trigger werden bei der Erstellung automatisch auf syntaktische Richtigkeit geprüft und in den Systemtabellen gespeichert. Wenn die Anwendung das erste Mal eine Prozedur aufruft oder einen Trigger auslöst, werden sie aus den Systemtabellen in den virtuellen Speicher übertragen und von dort ausgeführt. Da eine Kopie der Prozedur oder des Triggers nach dem ersten Ausführen im Arbeitsspeicher bleibt, können wiederholte Ausführungen derselben Prozedur oder desselben Triggers unverzüglich erfolgen. Außerdem können mehrere Anwendungen eine Prozedur oder einen Trigger gleichzeitig benutzen, und eine Anwendung kann sie wiederholt aufrufen.

Sicherheit

Prozeduren und Trigger bieten Sicherheit, da sie den Benutzern begrenzten Zugriff auf Daten in Tabellen gewähren, auf die sie sonst keinen direkten Zugriff zum Lesen oder Verändern hätten.

Trigger werden beispielsweise mit den Tabellenberechtigungen des Eigentümers der zugeordneten Tabelle ausgeführt, können aber von allen Benutzern ausgelöst werden, die die Berechtigung haben, Zeilen in der Tabelle einzufügen, zu aktualisieren oder zu löschen. In ähnlicher Weise werden Prozeduren (einschließlich benutzerdefinierter Funktionen) mit den Berechtigungen des Prozedureigentümers ausgeführt, können aber von allen Benutzern mit der entsprechenden Berechtigung aufgerufen werden. Das bedeutet, dass Prozeduren oder Trigger andere Berechtigungen haben können (und in der Regel auch haben) als der Benutzer, der sie aufruft.