어느 가을날의 전환점
ORACLE|권한(Grant) 자동화 본문
# <유저A>의 객체를 <유저B>에게 권한 부여
BEGIN
FOR REC IN (SELECT OBJECT_NAME, OBJECT_TYPE
FROM ALL_OBJECTS
WHERE OWNER='유저A'
AND OBJECT_TYPE IN ('TABLE','VIEW','PROCEDURE','FUNCTION','PACKAGE')
)
LOOP
BEGIN
IF REC.OBJECT_TYPE IN ('TABLE', 'VIEW') THEN
EXECUTE IMMEDIATE 'GRANT INSERT, UPDATE, DELETE, SELECT ON 유저A.' || REC.OBJECT_NAME || ' TO 유저B';
ELSIF REC.OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION', 'PACKAGE') THEN
EXECUTE IMMEDIATE 'GRANT EXECUTE ON 유저A.' || REC.OBJECT_NAME||' TO 유저B';
END IF;
EXECUTE IMMEDIATE 'CREATE SYNONYM 유저B.' || REC.OBJECT_NAME || ' FOR 유저A.' || REC.OBJECT_NAME;
EXCEPTION
WHEN OTHERS THEN NULL;
END;
END LOOP;
END;
'Database > Oracle' 카테고리의 다른 글
ORACLE|서로 다른 캐릭터셋의 ORACLE DB간 DB_LINK 시 한글 호환 방안(편법?) (0) | 2011.09.07 |
---|---|
JAVA|JDBC 클라이언트 프로그램에서 NLS_LANG관련 설정 변경하는 방법 (0) | 2011.08.10 |
ORACLE|Oracle Instant Client (0) | 2011.08.03 |
ORACLE|WITH 구문 (0) | 2011.07.25 |
ORACLE|Oracle10g - CONNECT_BY_ROOT, SYS_CONNECT_BY_PATH, CONNECT_BY_ISLEAF (0) | 2011.07.25 |
Comments