DB

테이블 insert 권한 줄때 잊지말고 시퀀스도 select 권한도 함께!

에시드 2014. 4. 3. 10:19

A계정 테이블의 select, insert 권한을 B계정에게 주었다.

 

grant insert, select on a.tb_example to b

 

 

B계정에서 select는 잘 되는데, insert가 되지 않았다.

인서트 시마다  아래와 같은 ORA-00942 오류

ORA-00942: 테이블 또는 뷰가 존재하지 않습니다.

00942. 00000 - "table or view dose not exist"

 

 

 

해당 테이블은 pk가 시퀀스에 물려있는데, 해당계정로그인 후

select a.tb_example_seq.NEXTVAL from dual -- 해보았는데 똑같이 ORA-00942

 

시퀀스에 select 권한을 주지 않아서 발생된 문제이다.

시퀀스 오브젝트도 권한을 주어야 한다.

 

grant select on a.tb_example_seq to b