2014년 2월 5일 수요일

[오라클12C,ORACLE12C 새기능]테이블생성시 명시적 NULL 기본값설정, 오라클 default value,오라클교육강좌,구로디지털단지 서울 ORACLE실무교육전문기관,오엔제이프로그래밍실무교육센터

[오라클12C,ORACLE12C 새기능]테이블생성시 명시적 NULL 기본값설정, 오라클 default value,오라클교육강좌,구로디지털단지 서울 ORACLE실무교육전문기관,오엔제이프로그래밍실무교육센터,오라클자바커뮤니티운영
 
"col       NUMBER DEFAULT default_seq.NEXTVAL" 등과 같이 기본값을 주더라도 명시적으로 NULL값을 insert해 버리면 기본값은 설정되지 않고 NULL로 입력된다.
 
오라클12C는 ON NULL구를 통해 NULL이 입력되는 경우 기본값을 별도로 정의할수 있다.
아래 예를 보자.

CREATE SEQUENCE first_seq;

CREATE SEQUENCE second_seq;
 
CREATE TABLE test (
  id1        NUMBER DEFAULT first_seq.NEXTVAL,
  id2        NUMBER DEFAULT ON NULL second_seq.NEXTVAL,  --NULL or 값이안들어올때도 설정한 기본값
  name        VARCHAR2(30)
);
 
INSERT INTO test (name) VALUES ('홍길동');

INSERT INTO test (id1, id2, name) VALUES (9, 9, '9길동');

INSERT INTO test (id1, id2, name) VALUES (NULL, NULL, '널길동');
 
SELECT * FROM test;
      id1         id2               name
---------- ---------- ------------------------------
         1          1               홍길동
         9          9               9길동
                    2                널길동

댓글 없음:

댓글 쓰기