Programing/Oracle

Oracle - SEQUENCE , SYNONYM

woony5231 2008. 7. 29. 16:57

SEQUENCE - 번호발생기


99.9%가 INSERT문에 사용


SQL> CREATE SEQUENCE DEPT_DEPTNO
  2  START WITH 1        ------   시작값이 1
  3  INCREMENT BY 1   ------   1씩 증가
  4  MINVALUE 1
  5  MAXVALUE 100
  6  NOCACHE           
  7  NOCYCLE;             ------   순환X

주문번호가 생성되었습니다.



SQL> INSERT INTO DEPT
  2  VALUES (DEPT_DEPTNO.NEXTVAL, 'BBB', 'CCC');

                   (시퀀스.다음값)



SQL> SELECT * FROM DEPT;


    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 PRESIDENT      NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
         1 BBB            CCC
         2 BBB            CCC

6 개의 행이 선택되었습니다.



SQL> DESC USER_SEQUENCES

 

SQL> SELECT * FROM USER_SEQUENCES;

 

SQL> COL SEQUENCE_NAME FORMAT A15


SQL> /



SEQUENCE 옵션을 변경해보자.


SQL> ALTER SEQUENCE DEPT_DEPTNO
  2  CACHE 20
  3  CYCLE;

주문번호가 변경되었습니다.




SEQUENCE 삭제


SQL> DROP SEQUENCE DEPT_DEPTNO;

주문번호가 삭제되었습니다.






SYNONYM - 동의어


시노늄이라는 객체를 통해 복잡하고 긴 이름을 간단하게 요약해서 사용



SQL> CREATE SYNONYM SORT_EMP FOR E1;

동의어가 생성되었습니다.


SQL> SELECT * FROM SORT_EMP;


SQL> DROP SYNONYM SORT_EMP;

동의어가 삭제되었습니다.