ORA-01441: cannot decrease column length because some value is too big
원인
넣을려는 곳의 정해진 자료형의 값보다 큰 값을 넣을려고 해서 발생
크기 수정할 때는 안에 데이터의 크기가 어떤지를 보고 수정해야함
ALTER TABLE DEPT_COPY
MODIFY DEPT_TITLE VARCHAR2(10);
-- ORA-01441: cannot decrease column length because some value is too big
-- 크기 수정할 때는 안에 데이터의 크기가 어떤지를 보고 수정해야함
ORA-01841: (full) year must be between -4713 and +9999, and not be 0
원인
컬럼명의 순서를 바꿔서 들어갈 수 없는 데이터 형식이 넣어졌기에 에러발생
상황
테이블의 모든 컬럼에 값을 넣을 때는 컬럼명 명시를 생략 가능하여 해보던 중
해결 컬럼명을 명시하는 경우에는 명시한 순서를 따라 데이터를 넣으면 되고, 생략 시에는 테이블에 있는 컬럼명 순서을 따라야 한다
-- 테이블의 모든 컬럼에 값을 넣을 때는 컬럼명 명시를 생략 가능
-- INSERT 시, 컬럼명을 생략하려면 테이블에 있는 컬럼 순서를 정확히 지켜서 넣어야 함
INSERT INTO EMPLOYEE -- 컬럼명 명시부분 삭제
VALUES(900,'강건강','990311-1451201','kang_kk@kh.or.kr','01011112222',
'D1','J7','S3',4300000,0.2,200,SYSDATE,'N',NULL);
-- ORA-01841: (full) year must be between -4713 and +9999, and not be 0
-- 원인 : ENT_YN,ENT_DATE의 순서를 바꿔서 에러발생
-- 컬럼명을 명시하는 경우에는 명시한 순서를 따라 데이터를 넣으면 되고,
-- 생략 시에는 테이블에 있는 컬럼명 순서을 따라야 한다