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.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |