본문으로 바로가기

프로시져를 작성하면서 프로시져내에 다른 데이터베이스에 테이블을 TRNCATE 할 필요가 있었다.

당연히 그 테이블에 대해 권한을 부여 하였으나 작동하지 않자 구글링 해보니

GRANT 권한 설정시 희안하게 TRUNCATE 는 먹질 않는다..

이유인 즉

----------------------------------------------------------------------------------------------------------

**특정 테이블에 대해서 truncate (ALTER TABLE)  권한을 사용자에게 부여할 수 없읍니다.

--------------------------------------------------------------------------------------------------------

그렇기 때문에 TRUNCATE 대상 DB에 별도의 프로시져를 만들어서, 간접적으로 실행을 시켜주어야 했다.

그리고 간접 프로시져를 호출하기 위한 명령어

 GRANT execute ON DB_NAME.PROC_NAME TO USER;

로 호출 권한을 부여해 주었다.

원문 : http://www.database.sarang.net/?inc=read&criteria=oracle&subcrit=qna&aid=38538