DDL Trigger,授予新创建用户权限

时间:2017-03-16 13:38:10

标签: sql database oracle triggers

我有一个问题,有可能,DDL触发器可以在用户创建后立即授予角色。

例如:

CREATE OR REPLACE TRIGGER DDL_TRIGGER
AFTER CREATE ROLE ON DATABASE

之后,触发器应该为新用户授予一些角色。

例如:

BEGIN
GRANT Resourse to *new created user*;
GRANT CONNECT to *new created user*;

我使用oracle数据库。

谢谢你们, 马吉

1 个答案:

答案 0 :(得分:1)

我认为应该是这个:

CREATE OR REPLACE TRIGGER T_CREATE_USER 
    AFTER CREATE ON DATABASE
    WHEN (ora_dict_obj_type = 'USER')
BEGIN

    EXECUTE IMMEDIATE 'GRANT RESOURCE TO '||ora_dict_obj_name;
    EXECUTE IMMEDIATE 'GRANT CONNECT TO '||ora_dict_obj_name;

END;
/

查看Using Triggers了解更多详情。

请查看这篇文章:How do I create a Oracle trigger that grants permissions - 也许我的解决方案不起作用。