본문 바로가기
프로그래밍/DBMS

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

by zoo10 2011. 6. 14.

일반 쿼리로는 문제없이 사용했던 코드를 프로시져에 집어넣었더니 딱 하고 저 에러가 떴다. 분명히 테이블은 존재하고 일반 SELECT 문으로도 조회가 잘 된다. 그런데도 프로시져에 위치시키면 제목과 같은 에러를 뱉어낸다.

여러 테이블이 존재하는데 유독 한 테이블만 이런 현상이 발생했다. 킁.. 구글링~~

존재하는 테이블인데도 읽지 못하는 것은 권한 문제라고 한다. 그럼 그 한 테이블만 권한 설정을 잘못해서 만들었다는 거냐. 만든넘 누구냐~.

시스템 유저로 들어가서 권한을 할당해주는 작업을 진행했다. 인터페이스 용 테이블이여서 다른 권한은 없어도 되고 SELECT 권한만 부여했다.

grant select on [유저명.권한을 할당할 테이블명] to [테이블에 권한을 행사 할 유저명];

요렇게 처리하고 프로시져를 컴파일 했더니 잘 되는.. 킁.. 여러 권한을 같이 주고 싶다면 아래와 같이 함 된다.

GRANT SELECT, DELETE, UPDATE, INSERT ON USER1.TABLE_NAME1 TO USER2;

알아야 면장도 한다는...