ORA-00903: 테이블 명이 부적합합니다 (ORA-00903: invalid table name)

ORA-00903: 테이블 명이 부적합합니다 오류는 테이블에 대한 데이터 정의 언어(DDL : Data Definition Language), 또는 데이터 조작 언어(DML : Data Manipulation Language)를 사용할 때에 발생합니다.

테이블 명이 기술되어야 할 자리에 예상하지 않은 명령어나 테이블 명 자체가 부적합할 때에 오류가 나타나는데요, 어떠한 때에 문제가 되는지 알아보도록 합시다.

다음과 같이 'ORA-00903: invalid table name' 오류가 발생하는 각각의 쿼리를 준비해 보았습니다. 발생하는 오류를 살펴보고 어떻게 수정해야 하는지 안내해 드리겠습니다.

다음 쿼리는 SELECT 문에서 'FROM' 다음에 테이블 이름이 누락되어 오류가 발생합니다.

SELECT * FROM;

ERROR at line 1:
ORA-00903: invalid table name

테이블 이름, 띄어쓰기, 캐리지 리턴이나 라인피드와 같이 보이지 않는 특수문자 등을 점검해 주세요. 예를 들어, "EMP" 테이블에서 모든 컬럼을 선택하려면 다음과 같이 수정합니다.

SELECT * FROM EMP;
14 rows selected.

다음 쿼리는 INSERT 문이 사용되었지만 인서트 대상 테이블이나 데이터를 지정하지 않았습니다. INSERT 문장 부분의 테이블 이름을 점검하세요. 인서트 할 데이터도 같이 명시하였는지 확인하여 해결합니다.

INSERT INTO;

ERROR at line 1:
ORA-00903: invalid table name
INSERT INTO VALUES;

ERROR at line 1:
ORA-00903: invalid table name
INSERT INTO SELECT;

ERROR at line 1:
ORA-00903: invalid table name

예를 들어, "EMP" 테이블에 새로운 레코드를 인서트 하려면 다음과 같이 쿼리를 수정합니다.

INSERT INTO emp (empno, ename) VALUES (1, 'BEOMSANG');

1 row created.

다음 쿼리는 UPDATE 문을 사용하였지만 업데이트 할 대상 테이블과 업데이트 할 데이터를 지정하지 않았습니다.

UPDATE;

ERROR at line 1:
ORA-00903: invalid table name
UPDATE SET;

ERROR at line 1:
ORA-00903: invalid table name
UPDATE TABLE;

ERROR at line 1:
ORA-00903: invalid table name

UPDATE 문은 대상 테이블과 업데이트 컬럼을 함께 지정합니다. 예를 들어, "EMP" 테이블에서 특정 직원의 이름을 업데이트 하려면 다음과 같이 쿼리를 수정할 수 있습니다.

UPDATE emp SET ename = 'BEOMSANG' WHERE empno = 1;

1 rows updated.

다음 쿼리는 DELETE 문이 사용했으나 삭제할 대상 테이블을 설정하지 않아서 오류가 발생합니다.

DELETE;

ERROR at line 1:
ORA-00903: invalid table name
DELETE FROM;

ERROR at line 1:
ORA-00903: invalid table name

DELETE 문은 삭제할 대상 테이블을 지정해야 합니다. 예를 들어, "EMP" 테이블에서 특정 조건을 충족하는 로우를 삭제하려면 다음과 같이 수정할 수 있습니다.

DELETE FROM emp WHERE empno = 1;

1 rows deleted.

머지 예시

MERGE INTO;

ERROR at line 1:
ORA-00903: invalid table name

테이블 생성 시 테이블 명 부적합한 경우

CREATE TABLE;

ERROR at line 1:
ORA-00903: invalid table name

테이블 수정 시 테이블 명 부적합한 경우

ALTER TABLE;

ERROR at line 1:
ORA-00903: invalid table name

테이블 삭제 시 테이블 명 부적합한 경우

DROP TABLE;

ERROR at line 1:
ORA-00903: invalid table name
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗