상세 컨텐츠

본문 제목

[Oracle] DEFAULT ON NULL

개발/Database

by 대충고양이짤 2014. 1. 21. 18:18

본문

문제 상황

DEFAULT 값을 설정해둔 컬럼에 data가 ""가 들어갈 경우, 설정된 DEFAULT 값이 아닌 (null)이 입력 됨.



문제 원인


값이 없는 컬럼에는 DEFAULT 값이 들어가지만, 명시적으로 NULL을 넣으면 DEFAULT 값은 설정되지 않음.

이것을 해결하는 기능인 DEFAULT ON NULL이 있긴 하지만 oracle 12c 부터 지원. (난 oracle 11g)



문제 해결

Mybatis를 사용하고 있기 때문에 Dynamic SQL로 구분.

<if test = "testvalue!= null and testvalue!= ''">로 데이터가 ""일때는 INSERT 시 SKIP 하도록 수정.



참고 사이트

- [오라클12C,ORACLE12C 새기능, 오라클12C교육, ORACLE12C강좌]테이블생성시 명시적 NULL을 통한...

- DEFAULT ON NULL on INSERT


관련글 더보기

댓글 영역