ORA-01438 오류 0 10 3,114

by 쿠키 [Oracle 에러코드] [2024.04.23 09:20:19]


INSERT INTO AAA 

SELECT * FROM BBB;

 

에서 AAA와 BBB의 모든 컬럼의 데이터 형식을 동일하게 맞추었는데도

'ORA-01438: 이 열에 대해 지정된 전체 자릿수보다 큰 값이 허용됩니다.'이런 오류가 나오는데요... 무엇을 더 확인해봐야 이 문제를 해결할 수 있을까요?

by 마농 [2024.04.23 09:24:10]

자릿수 확인 (예 : 3자리 컬럼에 5자리 입력)


by 쿠키 [2024.04.23 09:58:46]

형식과 자릿수 모두 다 맞추었습니다! 그런데도 자꾸 저 오류가 뜹니다..


by 마농 [2024.04.23 10:08:24]

어딘가 놓친 부분이 있을 듯 합니다.
에러 메시지 보시면 컬럼명 나오지 않나요?
해당 컬럼 정보 및 데이터 한번 더 확인해 보세요.


by 쿠키 [2024.04.23 10:11:16]

보니까 INSERT INTO 할때 각 테이블끼리 컬럼 순서를 맞추지 않았었습니다..!! 기본적인 것을 잊고있었네요,, 도움 주셔서 감사합니다!!


by 신히 [2024.04.23 09:50:26]

데이터 형식을 동일하게 하였다면 순서를 확인해보세요. * 대신 명시적으로 컬럼명을 지정해보세요.

ex)

INSERT INTO AAA

(COL1, COL2)

SELECT COL1, COL2

   FROM BBB;


by 쿠키 [2024.04.23 10:08:24]

엇 그렇네요 ,,, 너무 기본적인것을 간과하고 있었네요! 감사합니다!!


by 대궁이 [2024.04.23 10:17:36]

INSERT 구문 사용시 컬럼정의는 필수처럼 사용하시길 권장드립니다.


by 쿠키 [2024.04.23 10:19:31]

네 알겠습니다!! 감사합니다!!!


by 마농 [2024.04.23 10:23:59]

에러메시지를 대하는 자세
에러메시지를 의심하지 않아야 합니다.
절대 그럴 리가 없다는 생각을 가지는 순간 오류를 벗어날 수 없습니다.
메시지를 그대로 받아들이셔야 빠른 오류 탈출이 가능합니다.
대부분의 오류는 에러메시지 속에 답이 있습니다.


by 쿠키 [2024.04.23 10:51:14]

네! 항상 에러메세지를 의심하지 않고 에러메세지로 부터 해결책을 찾겠습니다! 항상 질문에 답변해주시고 도움주셔서 감사합니다!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입