ORA-00942 : table or view does not exist

에러 코드: ORA-00942

에러 메시지: table or view does not exist (테이블 또는 뷰가 존재하지 않음)

 

발생 원인

ORA-00942 에러는 데이터베이스에서 쿼리를 실행하려 할 때, 참조된 테이블(table)이나 뷰(view)가 존재하지 않을 경우 발생합니다. 이 에러는 대개 SQL 쿼리를 실행하는 동안 잘못된 이름을 사용했거나, 데이터베이스에 접근할 권한(permission)이 없을 때 발생합니다.

 

예제

다음은 ORA-00942 에러가 발생하는 상황의 예입니다.

SELECT * FROM emp;

1. 사용자 접속 계정 : USER01
2. EMP 소유 계정 : SCOTT

USER01로 접속하여 위와 같이 SELECT * FROM EMP; 질의시 에러 발생!

 

위 쿼리를 실행했을 때 emp 테이블이 데이터베이스에 존재하지 않거나, 현재 사용자가 이 테이블에 접근할 권한이 없다면 ORA-00942 에러가 발생합니다.

 

해결 방법

이 에러를 해결하기 위해서는 다음 조치를 취할 수 있습니다:

  1. 테이블/뷰 이름 확인: 쿼리에서 참조하는 테이블이나 뷰의 이름이 정확한지 확인합니다.
  2. 접근 권한 확인: 해당 테이블이나 뷰에 접근할 수 있는 권한이 있는지 확인합니다. 필요하다면 DBA 에게 접근 권한을 요청할 수 있습니다.
  3. 스키마(schema) 명시: 쿼리에서 테이블이나 뷰를 참조할 때 스키마 이름을 명시하여 정확한 위치에서 찾을 수 있도록 합니다.