1. μνμ€ Sequence
- μ€λΌν΄ λ°μ΄ν°λ² μ΄μ€μμ νΉμ κ·μΉμ λ§λ μ°μ μ«μλ₯Ό μμ±νλ κ°μ²΄
- λ²νΈλ₯Ό μ¬μ©ν΄μΌ νλ μ¬μ©μμκ² κ³μ λ€μ λ²νΈλ₯Ό λ§λ€μ΄ μ£Όλ μν
- μ§μμ μ΄κ³ ν¨μ¨μ μΈ λ²νΈ μμ±μ΄ κ°λ₯
2. μνμ€ μμ±
- CREATE λ¬ΈμΌλ‘ μμ±
CREATE SEQUENCE μνμ€ μ΄λ¦ -- 1
[INCREMENT BY n] -- 2
[START WITH n] -- 3
[MAXVALUE n | NOMAXVALUE] -- 4
[MINVALUE n | NOMINVALUE] -- 5
[CYCLE | NOCYCLE] -- 6
[CACHE n | NOCACHE]; -- 7
(1) μμ±ν μνμ€ μ΄λ¦ μ§μ (νμ). (2)~(7)μ μ μ§μ νμ§ μμμ κ²½μ° 1λΆν° μμνμ¬ 1λ§νΌ κ³μ μ¦κ°νλ μνμ€κ° μμ±λ¨
(2) μνμ€μμ μμ±ν λ²νΈμ μ¦κ° κ°. default 1 (μ ν)
(3) μνμ€μμ μμ±ν λ²νΈμ μμ κ°. default 1 (μ ν)
(4) μνμ€μμ μμ±ν λ²νΈμ μ΅λκ° μ§μ . μ΅λκ°μ μμκ°(START WITH n) μ΄μ, μ΅μκ°(MINVALUE) μ΄κ³Ό. NOMAXVALUEμΌ κ²½μ° μ€λ¦μ°¨μμ΄λ©΄ 10^23, λ΄λ¦Όμ°¨μμ΄λ©΄ -1λ‘ μ€μ (μ ν)
(5) μνμ€μμ μμ±ν λ²νΈμ μ΅μκ° μ§μ . μ΅μκ°μ μμκ°(START WITH n) μ΄ν, μ΅λκ°(MAXVALUE) λ―Έλ§. NOMINVALUEμΌ κ²½μ° μ€λ¦μ°¨μμ΄λ©΄ 1, λ΄λ¦Όμ°¨μμ΄λ©΄ 10^-26λ‘ μ€μ (μ ν)
(6) μνμ€μμ μμ±ν λ²νΈκ° μ΅λκ°(MAXVALUE)μ λλ¬νμ κ²½μ° CYCLEμ΄λ©΄ μμκ°(START WITH n)μμ λ€μ μμ, NOCYCLEμ΄λ©΄ λ²νΈ μμ±μ΄ μ€λ¨λκ³ μΆκ° λ²νΈ μμ± μμ²μ μ€λ₯ λ°μ (μ ν)
(7) μνμ€κ° μμ±ν λ²νΈλ₯Ό λ©λͺ¨λ¦¬μ 미리 ν λΉν΄ λμ μλ₯Ό μ§μ . NOCACHEλ 미리 μμ±νμ§ μλλ‘ μ€μ . μ΅μ μ λͺ¨λ μλ΅νλ©΄ default 20 (μ ν)
-- 1.
CREATE SEQUENCE SEQ_DEPT_SEQUENCE
INCREMENT BY 10
START WITH 10
MAXVALUE 90
MINVALUE 0
NOCYCLE
CACHE 2;
(1) 10λΆν° μμν΄ 10μ© μ¦κ°νκ³ μ΅μκ° 0 μ΅λκ° 90μ΄λ©° μ΅λκ°μ λλ¬νλ©΄ λ²νΈ μμ±μ΄ μ€λ¨λλ μΊμ 2μ μνμ€. 90 μ΄ν μνμ€λ₯Ό μ¬μ©νλ €κ³ νλ©΄ μ€λ₯κ° λ°μ
3. μνμ€ μ¬μ©
- [μνμ€ μ΄λ¦.CURRVAL] : μνμ€μμ λ§μ§λ§μΌλ‘ μμ±λ λ²νΈ λ°ν. μνμ€ μμ± ν λ°λ‘ μ¬μ©νλ©΄ μ€λ₯ λ°μ
- [μνμ€ μ΄λ¦.NEXTVAL] : μνμ€μ λ€μ λ²νΈ λ°ν
-- 1.
INSERT INTO DEPT_SEQUENCE ( DEPTNO, DNAME, LOC)
VALUES (SEQ_DEPT_SEQUENCE.NEXTVAL, 'DATABASE', 'SEOUL');
-- 2.
SELECT SEQ_DEPT_SEQUENCE.CURRVAL FROM DUAL;
(1) μμκ°μ 10μΌλ‘ μ€μ νμμΌλ―λ‘ DEPTNOμ 10μ΄ μ½μ λ¨
(2) λ°λ‘ μ΄μ μ 10μ μ¬μ©νμμΌλ―λ‘ 10μ΄ λ°νλ¨
3. μνμ€ μμ
- ALTER λͺ λ Ήμ΄λ‘ μνμ€ μμ
- μ΅μ μ μ¬μ€μ νλ λ° μ¬μ©. START WITH κ°μ λ³κ²½μ΄ λΆκ°λ₯
ARTER SEQUENCE μνμ€ μ΄λ¦
[INCREMENT BY n]
[MAXVALUE n | NOMAXVALUE]
[MINVALUE n | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE n | NOCACHE];
-- 1.
ARTER SEQUENCE SEQ_DEPT_SEQUENCE
INCREMENT BY 3
MAXVALUE 99
CYCLE;
(1) μ΅λκ°μ 99λ‘, μ¦κ°κ°μ 3μΌλ‘, NOCYCLE λμ CYCLE μ΅μ μΌλ‘ λ³κ²½. 99 μ΄ν μνμ€λ₯Ό μ¬μ©νλ©΄ 0(MINVALUE)λΆν° λ€μ 3μ© μ¦κ°
3. μνμ€ μμ
- DROP λͺ λ Ήμ΄λ‘ μνμ€ μμ
- μνμ€λ₯Ό μμ νλλΌλ μνμ€λ₯Ό μ¬μ©νμ¬ μΆκ°λ λ°μ΄ν°λ μμ λμ§ μμ
DROP SEQUENCE μνμ€ μ΄λ¦;
-- 1.
DROP SEQUENCE SEQ_DEPT_SEQUENCE;