[ORACLE] SQL 오류 : ORA-00947
창고/버그버그 👀

[ORACLE] SQL 오류 : ORA-00947

개요 :

기존에 사용중인 테이블에서 컬럼을 추가해야하는 일이 생겨서 백업테이블 생성 후 기존 테이블을 지웠다가 컬럼을 추가한 상태로 테이블을 재생성한 후 백업테이블에 있는 데이터를 기존 테이블에 옮기려고 하였으나 오류가 발생했다.

 

원인 :

INSERT 하려고하는 대상의 컬럼의 수와 INSERT하려는 값의 항목의 수가 동일하지 않기 때문에 발생하는 오류

 

ORA-00947

해결 :

A[백업테이블]에 있는 데이터를 B[컬럼을 추가한 기존테이블]에 INSERT를 하려고 할때 A에는 없는 컬럼이 B에는 존재하기때문에 해당 컬럼을 A에 추가해주어 컬럼 수를 동일하게 맞춰줌으로써 해결 가능하다.

ALTER TABLE[컬럼수가 부족한 테이블] ADD ( [해당컬럼] VARCHAR2(30) );