블로그 이미지
숏퐁숑

카테고리

분류 전체보기 (70)
게임기획자 준비 (18)
게임기획 참고자료 (7)
프로그램 (33)
숨쉬기 활동 (10)
Total
Today
Yesterday

달력

« » 2024.10
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

시퀀스의 정의와 사용 방법에 대해 정리해보려 한다.

개발을 할때 자동으로 키(KEY) 생성을 해야 할 경우 주로 사용한다.?

 

시퀀스(Sequence)란?

  • - 유일(UNIQUE)한 값을 생성해주는 오라클 객체이다.
  • - 시퀀스를 생성하면 기본키와 같이 순차적으로 증가하는 컬럼을 자동적으로 생성 할 수 있다.
  • - 보통 PRIMARY KEY 값을 생성하기 위해 사용 한다.
  • - 메모리에 Cache되었을 때 SEQUENCE 값의 액세스 효율이 증가 한다.
  • - SEQUENCE는 테이블과는 독립적으로 저장되고 생성됩니다. 따라서 하나의 SEQUENCE를 여러 테이블에서 쓸 수 있다.

 

시퀀스 문법

  • - START WITH : 시퀀스의 시작 값을 지정한다. n을 1로 지정하면 1부터 순차적으로 시퀀스번호가 증가 한다.
  • - INCREMENT BY : 시퀀스의 증가 값을. n을 2로 하면 2씩 증가한다. START WITH를 1로 하고 INCREMENT BY를 2으로 하면 1, 3, 5,7,.. 이렇게 시퀀스 번호가 증가한다.

 

시퀀스 예제



-- 시퀀스 생성

SQL> CREATE SEQUENCE emp_seq

START WITH 1

INCREMENT BY 1

MAXVALUE 100000 ;



--  NEXTVAL을 사용하여  시퀀스 값을 자동으로 입력할 수 있다.

SQL> INSERT INTO emp(empno, ename, hiredate )

VALUES(emp_seq.NEXTVAL, 'julia' , sysdate);

-- NEXTVAL은 현재 시퀀스 값의 다음 값을 반환 한다.

SQL> SELECT emp_seq.NEXTVAL FROM DUAL ;

-- CURRVAL은 현재 시퀀스 값을 반환 한다.

SQL> SELECT emp_seq.CURRVAL FROM DUAL ;

 

시퀀스의 수정 및 삭제

START WITH는 수정 할 수 없다. START WITH 절이 없다는 점을 빼고는 CREATE SEQUENCE 문장과 같다.

 

시퀀스의 수정 및 삭제 예제



-- 2씩 증가하고, 최대값을 넘으면 다시 처음부터 순환하도록 수정

SQL> ALTER SEQUENCE emp_seq

INCREMENT BY 2

CYCLE;

-- 시퀀스 삭제

 SQL>DROP SEQUENCE emp_seq;

'프로그램 > ORACLE' 카테고리의 다른 글

Linux 기반의 Oracle10g 설치  (0) 2016.11.30
Backup & Recovery  (0) 2016.11.30
with grant option & with admin option 차이  (0) 2016.11.30
view에 사용되는 with check option  (0) 2016.11.30
오라클 함수 정리  (0) 2016.11.30
Posted by 숏퐁숑
, |

최근에 달린 댓글

글 보관함