반응형
테이블에 데이터를 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값이 들어가면 안되기 때문에 값이 제대로 쿼리단으로 넘어오는지, 파라미터 이름이 틀린 것은 아닌지 확인해야겠습니다.
반응형
'오류 해결' 카테고리의 다른 글
[ORA-00913] 값의 수가 너무 많습니다. (0) | 2023.04.17 |
---|---|
[ORA-01790] 대응하는 식과 같은 데이터 유형이어야 합니다. (0) | 2023.04.07 |
[ORA-17059] java.sql.SQLException 내부 표기로 변환할 수 없습니다. (1) | 2022.10.25 |
[JavaScript] Uncaught TypeError: Cannot read properties of undefined (reading 'row') 오류 해결 (0) | 2022.10.19 |
[JavaScript/DataTables] Uncaught TypeError: Cannot read properties of undefined (reading 'sWidth') 해결 방법 (0) | 2022.09.29 |
댓글