2013년 12월 25일 수요일

[오라클12C새기능]테이블생성시 명시적 ON NULL 기본값설정, 오라클 default value(Oracle12C새기능)[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육]

[오라클12C새기능]테이블생성시 명시적 ON NULL 기본값설정, 오라클 default value(Oracle12C새기능)[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육]


[오라클12C,ORACLE12C 새기능]테이블생성시 명시적 NULL 기본값설정, 오라클 default value
 
"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                널길동

댓글 없음:

댓글 쓰기