随着系统的用户,我创建了一个新的用户,并授予他DBA权限:GRANT dba TO user_bdda_adminProjet
PL/SQL不可能选择一个表到触发器
我试图寻找到DBA_ROLE_PRIVS表到触发器(我没“T粘贴我所有的代码,随时告诉我,如果有必要):
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;
/
但是当我尝试执行该脚本,我得到了以下错误:
Erreur(6,3): PL/SQL: SQL Statement ignored
Erreur(6,39): PL/SQL: ORA-00942: table or view does not exist
看着不同论坛上,我发现问题一般是用户没有权利表。
但是,当我执行,因为我的用户user_bdda_adminProjet以下行单独(一个触发的),它完美
SELECT COUNT(*) FROM DBA_ROLE_PRIVS;
而且,如果我只是发表意见线下了扳机,它的执行没有任何错误,所以我想这个错误是专门在这一行。
在此先感谢您的帮助,并随时告诉我您是否需要更多信息。
为什么你的触发器需要查询数据字典? –