Als Systembenutzer zu wählen, ich einen neuen Benutzer erstellt und gewähren ihm dBA Privilegien: GRANT dba TO user_bdda_adminProjet
PL/SQL Impossible eine Tabelle in einem Trigger
Ich versuche, in einen Trigger in die DBA_ROLE_PRIVS Tabelle zu suchen (I didn ‚t alle meinen Code einfügen, fühlen sie sich frei, mir zu sagen, wenn es notwendig ist):
CREATE OR REPLACE TRIGGER my_trigger
INSTEAD OF
INSERT ON vueEnquete
FOR EACH ROW
DECLARE
tmp int;
BEGIN
SELECT COUNT(*) INTO tmp FROM DBA_ROLE_PRIVS;
...
...
END;
/
Aber wenn ich versuche, dieses Skript auszuführen, habe ich die folgenden Fehler:
Erreur(6,3): PL/SQL: SQL Statement ignored
Erreur(6,39): PL/SQL: ORA-00942: table or view does not exist
bei unterschiedlichen Blick Foren, habe ich festgestellt, dass das Problem im Allgemeinen ist, dass der Benutzer keine Rechte an der Tabelle haben.
Aber wenn ich ausführen, wie mein Benutzer die folgende Zeile allein user_bdda_adminProjet (aus einem Trigger), es funktioniert perfekt
SELECT COUNT(*) FROM DBA_ROLE_PRIVS;
Außerdem, wenn ich die Zeile in meinem Stecher nur kommentieren, führt sie ohne Fehler, so denke ich, der Fehler ist speziell in dieser Zeile.
Vielen Dank im Voraus für Ihre Hilfe und fühlen Sie sich frei, mir zu sagen, wenn Sie weitere Informationen benötigen.
Warum muss Ihr Auslöser das Datenwörterbuch abfragen? –