본문 바로가기
Oracle

[Oracle] ORA-00913: too many values

by 네모세모동동 2025. 2. 25.

INSERT - SELECT문을 실행하다가 에러 발생🫨🫨

 

ORA-00913: too many values (값이 너무 많습니다.)

 

해당 오류가 발생하는 경우는 

 

INSERT문을 수행할 때 VALUES 절에 나열한 열 개수보다 많은 값을 입력할 때 주로 발생한다.

 

INSERT 
  INTO USER (ID, NAME, PWD)
VALUES ('id', 'name', 'pwd', 'hh')

 

이처럼 데이터를 입력하려는 컬럼 수보다  삽입하려는 값이 많을 때 발생한다. 

해결하는 방법은 👉👉👉  간단하게 컬럼수만 동일하게 맞춰주면 된다!

INSERT 
  INTO USER (ID, NAME, PWD)
VALUES ('id', 'name', 'pwd')

 

 

 

추가적으로 INSERT때 뿐 아니라

WHERE 절의 하위 쿼리가 너무 많은 열을 반환할 때도 발생한다.

SELECT *
  FROM USER
 WHERE ID IN ( SELECT *
                 FROM ORDER
                WHERE PAY_YN = 'N' )

 

모든 열을 반환하는 것이 아니라 한 컬럼만 반환하도록 수정하면 된다.

SELECT *
  FROM USER
 WHERE ID IN ( SELECT ORDER_ID
                 FROM ORDER
                WHERE PAY_YN = 'N' )

 

 

 


[출처]