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;