본문 바로가기
프로그래밍/데이터베이스

오라클 에러 ORA-00984: 열을 사용할 수 없습니다

by pentode 2018. 7. 12.

 

쿼리 도중 "ORA-00984: 열을 사용할 수 없습니다" 라는 에러를 만났습니다. 입력문을 실행 도중 발생한 에러 입니다. 쿼리를 추출해서 sqldeveloper에서 실행해 보았습니다.

 

명령의 1 행에서 시작하는 중 오류 발생 -
INSERT ... VALUES (...,SYDATE)


오류 발생 명령행: 1 열: 323
오류 보고 -
SQL 오류: ORA-00984: 열을 사용할 수 없습니다
00984. 00000 -  "column not allowed here"
*Cause:
*Action:

 

원래 에러메세지들은 친절하지 않지만 번역된 에러 메세지로 이해가 힘들었던것 같습니다. "열을 사용할 수 없습니다"의 원문은 "column not allowed here" 입니다. "열이 여기에 올 수 없습니다" 가 좀 더 맞을것 같습니다.

 

원인은 SYSDATE 를 쓸곳에 오타로 SYDATE 로 적었기 때문이었습니다. SYDATE는 즉시값도 아니고 내장 함수 같은 것도 아니라서  컬럼으로 판단한 것 같습니다.

 

이 오류가 자주 발생하는 경우는 다음과 같은 것들이 있을 수 있겠습니다.

 

- insert 문에서 문자열에 작은따옴표(') 를 하지 않을 경우

- 작은 따옴표 대신에 큰따옴표를 사용할 경우

- 내장 함수 등의 이름이 오타로 잘못된 경우

 

이런 경우 insert 문의 values 구문에 열이 올 수 없다고 ORA-00984 에러가 발생합니다.

 

 

반응형