1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| CREATE OR REPLACE TRIGGER TA_CREATE
AFTER CREATE
ON DATABASE
DECLARE
-- variables de reception
v_type VARCHAR2(20);
v_name VARCHAR2(50);
v_owner VARCHAR2(30);
v_ordre VARCHAR2(150);
v_ref_owner VARCHAR2(30) := 'IMPUSR';
v_ref_type VARCHAR2(30) := 'TABLE';
BEGIN
SELECT SUBSTR(ora_dict_obj_name,1,50), RTRIM(ora_dict_obj_type), RTRIM(ora_dict_obj_owner)
into v_name, v_type, v_owner
from dual;
IF v_type = v_ref_type AND v_owner = v_ref_owner THEN
v_ordre := 'GRANT SELECT ON ' || v_owner || '.' || v_name || ' TO PUBLIC';
EXECUTE IMMEDIATE v_ordre;
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END; |
Partager