2014년 1월 8일 수요일

오라클12c(Oracle 12c) – Default Values for Table Columns(Using Sequence)[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육]

오라클12c(Oracle 12c) – Default Values for Table Columns(Using Sequence)[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육]

오라클12c(Oracle 12c) – Default Values for Table Columns(Using Sequence), 시퀀스를 이용한 default 값 정의:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
 
 
오라클자바커뮤니티에서 설립한 오엔제이프로그래밍 실무교육센터
 
 
Oracle 12c에서 발전된 Sequence를 사용한 Default Values에 대해 알아보자.
 
컬럼의 기본값(default value)로 오라클 시퀀스의 CURRVAL, NEXTVAL을 사용할 수 있게 되었는데 이를 이용하면 식별자 컬럼(PK)에 사용하면 유용할 것이다.
 
예제를 보고 이해하자.
 
CREATE SEQUENCE onj_seq start with 1 increment by 1;
 
CREATE TABLE myemp (
  empno          NUMBER DEFAULT onj_seq.NEXTVAL,
  name           VARCHAR2(10)
);
 
INSERT INTO myemp (name) VALUES ('1&오엔제이프로그래밍실무학원');
INSERT INTO myemp (empno, name) VALUES (999, '오엔제이프로그래밍실무학원 ');
INSERT INTO myemp (empno, name) VALUES (NULL, 'onjprogramming.co.kr ');
 
SELECT * FROM myemp;
 
    empno              name
---------- ------------------------------
         1  1&오엔제이프로그래밍실무학원
 999  오엔제이프로그래밍실무학원
            onjprogramming.co.kr
 
 
 
 기능을 이용하면 Master, Detail 관계에서 자동으로 키 값을 생성하기에 좋다. 예제를 보자.
 
CREATE SEQUENCE m_seq;
CREATE SEQUENCE d_seq;
 
CREATE TABLE mydept(
  deptno          NUMBER DEFAULT m_seq.NEXTVAL,
  dname           VARCHAR2(30)
);
 
CREATE TABLE myemp (
  empno         NUMBER DEFAULT d_seq.NEXTVAL,
  deptno        NUMBER DEFAULT m_seq.CURRVAL,
  ename         VARCHAR2(30)
);
 
INSERT INTO mydept (dname) VALUES ('1번부서');
INSERT INTO myemp  (ename) VALUES ('사원 1');
INSERT INTO myemp  (ename) VALUES ('사원 2');
 
INSERT INTO mydept (dname) VALUES ('2번부서');
INSERT INTO myemp  (ename) VALUES ('사원 3');
INSERT INTO myemp  (ename) VALUES ('사원 4');
 
SELECT * FROM mydept;
 
   deptno  dname
---------- ------------------------------
         1 1번부서
         2 2번부서
 
 
 
SELECT * FROM myemp;
 
     empno     deptno ename
---------- ---------- ------------------------------
         1          1 사원 1
         2          1 사원 2
         3          2 사원 3 
         4          2 사원 4 
 
 
 
 


  • JAVA
  • ORACLE
  • iPhone/Android
  • .NET
  • 표준웹/HTML5
  • 채용/취업무료교육
  • 초보자(재학생)코스

  • 댓글 없음:

    댓글 쓰기