쿼리 도중 "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 에러가 발생합니다.
반응형
'프로그래밍 > 데이터베이스' 카테고리의 다른 글
MySQL(MariaDB) 서버 타임존 설정하기 (12) | 2018.07.17 |
---|---|
Oracle 원하는 기간의 날짜 데이터 만들기 (0) | 2018.07.14 |
Oracle Open 백업 하기(Hot backup) (2) | 2018.04.21 |
Oracle Archive Mode 설정하기 (0) | 2018.04.21 |
Windows용 MySQL 백업 배치 파일 만들기 (3) | 2018.04.20 |