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 » Einführung in Trigger

 

Berechtigungen für das Ausführen von Triggern

Sie können eine Berechtigung zum Ausführen eines Triggers nicht erteilen, da Trigger nicht von Benutzern ausgeführt werden können. SQL Anywhere löst sie als Reaktion auf Aktionen in der Datenbank aus. Trotzdem sind einem Trigger Berechtigungen zugeordnet, die sein Recht definieren, bestimmte Aktionen durchzuführen.

Trigger werden mit den Berechtigungen des Eigentümers der Tabelle ausgeführt, für die sie definiert werden, und nicht mit den Berechtigungen des Benutzers, der das Auslösen des Triggers verursacht hat, oder mit den Berechtigungen des Benutzers, der den Trigger erstellt hat.

Wenn ein Trigger auf eine Tabelle Bezug nimmt, benutzt er die Gruppen-Mitgliedschaften des Tabellenerstellers zur Ermittlung der Position von Tabellen, für die kein expliziter Eigentümername angegeben wurde. Beispiel: Wenn ein Trigger für die Tabelle "Benutzer_1.Tabelle_A" auf die Tabelle "Tabelle_B" Bezug nimmt und den Eigentümer der "Tabelle_B" nicht angibt, dann muss entweder die "Tabelle_B" von "Benutzer_1" erstellt worden sein, oder "Benutzer_1" muss (direkt oder indirekt) ein Mitglied einer Gruppe sein, die Eigentümer der "Tabelle_B" ist. Wenn keine Bedingung zutrifft, gibt der Datenbankserver, wenn der Trigger ausgelöst wird, eine Meldung zurück, die anzeigt, dass die Tabelle nicht gefunden werden kann.

Der Benutzer_1 benötigt auch Berechtigungen zum Ausführen der Vorgänge, die im Trigger festgelegt wurden.

Siehe auch