ORA-00904 : invalid identifier

에러 코드: ORA-00904

에러 메시지: invalid identifier

 

발생 원인

ORA-00904 에러는 테이블, 뷰, 시퀀스, 컬럼 등의 이름을 잘못 사용했을 때 발생합니다. 이는 존재하지 않는 이름을 참조하거나, 식별자를 잘못 입력했을 때, 또는 대소문자 구분 등의 문제로 발생할 수 있습니다.

 

예제

다음 예제에서는 employees 테이블에서 emp_id 컬럼을 선택하려고 시도합니다. 하지만 실제 컬럼 이름은 empno 입니다.

SELECT emp_id FROM employees;

위 SQL 명령은 ORA-00904: invalid identifier 에러를 발생시킬 것입니다. 왜냐하면 emp_id라는 이름의 컬럼이 emp 테이블에 존재하지 않기 때문입니다.

 

해결 방법

이 에러를 해결하기 위해서는 다음과 같은 절차를 따라야 합니다:

  1. 참조하고자 하는 식별자(예시는 테이블)의 이름을 정확히 확인합니다.
  2. 데이터베이스 내에서 식별자가 실제로 존재하는지, 그리고 올바른 이름으로 참조되고 있는지 검토합니다.
  3. SQL 쿼리에서 사용하는 식별자의 대소문자가 데이터베이스의 설정과 일치하는지 확인합니다. 오라클은 기본적으로 대문자 식별자를 사용합니다.

이런 식으로 ORA-00904 에러를 주의 깊게 검토하면 보통 쉽게 해결할 수 있습니다. 쿼리를 작성할 때는 항상 사용하고자 하는 데이터베이스 객체의 이름을 정확히 알고 있어야 합니다.