ORA-06519: active autonomous transaction detected and rolled back
Hi,
I'm using Oracle 19c (19.17) and want grant a role to a user based on some criteria. If the criteria are met the role should be assigned.
I've created the following:
1) a role
CREATE ROLE POWERBI_DEV2 IDENTIFIED USING SYSTEM.ASSIGN_ROLE_POWERBI_F;
-- Object privileges granted to POWERBI_DEV2
GRANT SELECT ON SYS.dba_users TO POWERBI_DEV2;
2) a function
CREATE OR REPLACE function SYSTEM.Assign_role_powerbi_f
--authid current_user
return number authid current_user
as
--pragma autonomous_transaction;
HOSTNAME varchar2 (60);
GEBR varchar2 (60);
PROG varchar2 (60);
v_sid number;
v_serialnum number;
begin
select upper(sys_context ('USERENV', 'SESSION_USER')) into GEBR from dual;