【发布时间】:2017-08-09 00:26:17
【问题描述】:
我想写一个程序可以给新创建的用户授予角色权限。
我的想法是我首先创建一个这样的程序:
CREATE OR REPLACE PROCEDURE P_CREATE_USER
BEGIN
EXECUTE IMMEDIATE 'GRANT RESOURCE TO'||ora_dict_obj_name;
EXECUTE IMMEDIATE 'GRANT CONNECT TO'||ora_dict_obj_name;
END;
/
然后,在数据库上创建用户后,我创建了一个触发器,它执行此过程。像这样:
CREATE OR REPLACE TRIGGER T_CREATE_USER
AFTER CREATE ON DATABASE
WHEN (ora_dict_obj_type = 'USER')
BEGIN
P_CREATE_USER;
END;
/
确实没用,你有其他建议吗?
我使用 Oracle 作为 DBMS。
【问题讨论】:
-
这是来自your previous question 的解决方案,您接受并说“它有效”。现在你说“它并没有真正起作用”。那么,它有什么方法不起作用呢?您还有什么额外要求?
-
您是 DBA 吗?还是只是在玩 XE?
-
@APC 是的,你是对的,我说“它有效”,但额外的要求是,我需要知道,我如何使用由触发器调用的过程来做到这一点。
-
@tbone 我不是真正的 DBA,但我想学习它。
标签: sql oracle stored-procedures plsql triggers