오라클에서 다른 스키마의 테이블 권한을 특정 사용자에게 부여하는 명령어는
GRANT ALL ON schema.table_name TO user;
이러한 방식이 있다.
하지만 특정 테이블이 아닌 해당 스키마의 전체 테이블 권한을 부여할 때에는 저 명령어를 하나하나 치기에는 무리가 있다.
그래서 해당 스키마의 모든 테이블의 권한을 특정 사용자에게 부여할 때 사용하는 명령어를 가져왔다.
BEGIN
FOR r IN (SELECT * FROM dba_objects WHERE owner = 'schema' AND object_type IN ('TABLE', 'VIEW', 'SEQUENCE', 'PROCEDURE', 'FUNCTION', 'PACKAGE')) LOOP
EXECUTE IMMEDIATE 'GRANT ALL ON schema.' || r.object_name || ' TO user';
END LOOP;
END;