ORA-00984 : "column not allowed here"
개발 중 ORA-00984 오류가 발생했는데요. ORA-00984는 보통 single quotes(따옴표)와 double quotes(쌍따옴표)의 잘못된 사용으로 인해 발생하는 경우가 많습니다.
column not allowed here 오류는 컬럼이 사용하는 위치에서 허용되지 않는 구문이라는 의미인데요. 어느 경우에 발생하는지 Oracle에서 정의를 내리고 있습니다.
INSERT 시, 문자열의 경우 ' '(single quotes) 따옴표를 이용하여야 하나 " "(double quotes) 쌍따옴표를 이용하는 경우에 가장 많이 발생하는 오류입니다. 또는 함수이름 등에 오타가 있을 경우에도 발생하니, 주의 깊게 보신다면 금방 처리가 되는 오류입니다.
// 오류 (문자에 쌍따옴표 사용 오류)
INSERT INTO TEST(문자,숫자)
VALUES("T0001", 1); -> 'T0001'
// 오류 (문자에 따옴표 누락)
INSERT INTO TEST(문자,숫자)
VALUES(T0001, 1); -> 'T0001'
// 오류 (숫자에 따옴표 사용오류)
INSERT INTO TEST(문자,숫자)
VALUES('T0001', '1'); -> 1