본문 바로가기
오류 해결

[ORA-01400] NULL을 ("SCHEMA"."TABLE"."COLUMN") 안에 삽입할 수 없습니다.

by 쿠쿠씨 2023. 4. 5.
반응형

 

테이블에 데이터를 INSERT하는 과정에서 오류가 발생하였습니다.

 

원인

1. 저는 NUMBER 타입 컬럼에 null값을 INSERT하려 해서 오류가 났습니다.

2. 또 다른 원인으로는 기본키 컬럼, NOT NULL 조건의 컬럼에 null값을 넣으려하면 발생한다고 합니다.

 

해결 방법

1. NUMBER 타입 컬럼에 null값을 넣은 경우

넣을 데이터를 NVL함수를 이용하여 처리해 줍니다.

NVL 함수는 "값"이 null일 경우 "지정값"으로 치환해주는 함수입니다.

NVL("값", "지정값")

null일 경우 0으로 처리하면 되겠습니다.

NVL("값", 0)

/* 변경 전  */
INSERT INTO TBL_EXAMPLE(
	PERIOD	--NUMBER타입
)
VALUES(
	#period#
)

/* 변경 후  */
INSERT INTO TBL_EXAMPLE(
	PERIOD	--NUMBER타입
)
VALUES(
	NVL(#period#,0)
)

변경하니 정상적으로 값이 INSERT되었습니다.

 

2. NOT NULL 조건 컬럼에 null값을 넣은 경우

이 경우 컬럼에 null값이 들어가면 안되기 때문에 값이 제대로 쿼리단으로 넘어오는지, 파라미터 이름이 틀린 것은 아닌지 확인해야겠습니다.

반응형

댓글