ORA-00904 : invalid identifier
: 부적합한 식별자
원인. 입력된 열 이름이 누락되었거나 잘못 되었을 경우 발생
→ 존재하지 않는 열 이름 지정
→ 정의된 열 이름과 대소문자가 일치하지 않는 경우
→ 작은 따옴표(')와 큰 따옴표(") 사용 방법의 오류
→ 열 이름에 특수 문자 사용
→ 열 이름에 Oracle 예약어 사용
해결 방법
→ 해당 열이 테이블에 존재하는지 확인
→ 큰 따옴표로 묶인 열 이름은 대소문자를 구분하므로 확인
→ 작은 따옴표(')로 값을 묶으면 값으로 취급, 큰 따옴표(")로 값을 묶으면 객체 이름으로 처리되므로 확인
→ 열 이름 앞에 숫자나 기호를 사용하고 있지 않는지 확인 후 수정
→ 열 이름에 예약어를 사용하고 있지 않은지 확인 후 수정
ORA-00905 : missing keyword
: 누락된 키워드
→ 키워드가 빠졌기 때문, 주로 오타 혹은 키워드를 작성하지 않아서 발생한 에러
ORA-00907 : missing right parenthesis
: 누락된 우괄호
→ 단순하게 우괄호')'를 제대로 입력하지 않아서 발생한 에러
ORA-02291 : integrity constraint violated - parent key not found
→ 부모키가 없는 상태에서 insert를 실행할 때 무결성 제약조건이 위배되기 때문에 발생한 에러
ex. DADDY(부모 테이블) / DAUGHTER(자식 테이블)
여기서 DAUGHTER의 MID는 DADDY테이블의 외래키(FK)
→ DAUGHTER의 MID는 DADDY의 MID가 갖고 있는 값 외에는 삽입 불가
INSERT INTO DAUGHTER VALUES (300, 30);
30 → 부모테이블에 정의되어있지 않은 값이기 때문에 오류