Рекомендуется перед выдачей этой роли пользователю подписать соглашение о том, что DBA с момента выдачи роли не отвечает за целостность данных в базе и за ее содержимое в целом.
Код:
CREATE ROLE "SM_EDITOR" NOT IDENTIFIED;
GRANT CREATE DATABASE LINK TO "SM_EDITOR";
GRANT CREATE TABLE TO "SM_EDITOR";
GRANT CREATE VIEW TO "SM_EDITOR";
BEGIN
FOR c IN (SELECT table_name FROM all_tables WHERE owner='SUPERMAG')
LOOP
BEGIN
EXECUTE IMMEDIATE
'GRANT DELETE ON supermag.' || c.table_name || ' to SM_EDITOR';
EXECUTE IMMEDIATE
'GRANT UPDATE ON supermag.' || c.table_name || ' to SM_EDITOR';
EXECUTE IMMEDIATE
'GRANT INSERT ON supermag.' || c.table_name || ' to SM_EDITOR';
EXCEPTION WHEN OTHERS THEN NULL;
END;
END LOOP;
END;
/