자동증가(Create sequence) NEXTVAL 과 CURRVAL > 온라인강의

본문 바로가기
 
 
 
오늘 834
어제 932
최대 2,526
전체 3,397,858

최근 방문자

1775
1756
1706
1573
932
834
20 21 22 23 24 25
비즈니스의 시작 비즈명함 ~ 가격, 품질, 배송 3가지 만족을 드리는 비즈명함 / 즉석명함 / 급행서비스 / 서울 전지역 수도권일부 3시간배송

select * from g5_menu where me_use = '1' and me_link like '%lecture%'
온라인강좌 홈 > 온라인강좌 > 온라인강좌

Oracle | 자동증가(Create sequence) NEXTVAL 과 CURRVAL

페이지 정보

작성일2014-01-10 15:52 조회5,988회 댓글0건

본문

Sequence란
유일한 값을 순차적이면서 연속적으로 만들어주기 위해서 사용되는 객체


Sequence기능?

1. 자동적으로 유일번호 생성
2. 공유가능하고 독립된 객체(여러 table에 사용 가능)
3. 주로 기본키값을 생성하기 위해 사용
4. 메모리에 캐쉬되면 시퀀스 값을 액세스하는 효율성을 향상시킴
   장점 : 메모리에서 시퀀스 값을 캐쉬하면 이값에 대해 더 빠른 액세스를 할수 있습니다.
   단점 : 시퀀스 값들이 순차적으로 안들어간다. 예를들어 1,2,3,5,7과 값이 gap(간격)이 생긴다


시퀀스에 gap이 생기는경우

1. rollback발생
2. system실패
3. 시퀀스가 다른 테이블에서 사용될때


다른 DBMS와의 차이

mysql(auto_increment)에서나 mssql(identity)에서는 해당 int형 컬럼에 순차적으로 자동으로 값(일련번호)이 부여해주는 기능이 있습니다.
이값은 1,2,3,4,순으로 순차적으로 자동으로 dbms가 계산하여 출력시켜주는데 게시판이나 primary key에 보통 많이 넣어 순서번호로 사용합니다.

oracle에서도 이런 자동 증가 번호 기능이 있습니다. 이기능을 SEQUENCE 라고 합니다.
먼저 SEQUENCE 을 사용하기 위해서는 SEQUENCE를 선언하고 사용하면 됩니다.
물론 하나의 게시판에 하나의 SEQUENCE을 사용하므로 사용할 갯수만큼 SEQUENCE을 만들어야 합니다.


SEQUENCE 선언하기

문법
CREATE SEQUENCE 시퀀스이름 START WITH 1 INCREMENT BY 증가숫자 MAXVALUE 최대값  nocycle cache 20;
- 시퀀스이름 SEQUENCE명입니다. START WITH는 시작 번호 INCREMENT는 증가 번호입니다.
- MAXVALUE는 최대 시퀀스 값입니다. 최대값까지 가면 처리가 안되고 에러가 납니다.
- MAXVALUE는 생략시 10의 27승까지 가능하다.
- cycle는 최대값까지 간다음에 다시 start with부터 시작하지만 nocycle는 최대값을 간후에 멈춘다.
- cache는 메모리에 캐쉬하여 사용한다. nocache는 메모리에 캐쉬하여 사용안한다.


Classic ASP 에서의 사용예
<%
strSql = "INSERT INTO aaa (IDX, COMPANY, TEL) "
strSql = strSql & " VALUES ( SEQUENCE_aaa.NEXTVAL , '" & COMPANY & "' , '" & TEL& "' ) "
conn.Execute(strSql)
%>


관련자료
http://annehouse.tistory.com/163
http://blog.naver.com/jjongs23/70058682016
http://www.zetswing.com/bbs/board.php?bo_table=ORACLE_TIP&wr_id=30
http://gilnet.tistory.com/entry/Sequences-NextVal과-Currval
http://lachesis76.egloos.com/viewer/400806
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.


목록

Total 2,005건 1 페이지
온라인강의 목록
번호 제목
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
1995
1994
1993
1992
1991
1990
1989
1988
1987
1986
1985
1984
1983
1982
1981
게시물 검색
 
 
상호: 해피정닷컴 대표:정창용 사업자등록번호:119-05-36414 (08394) 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
전화: 070-7600-3500 팩스:02-865-3528 개인정보관리:정창용 mail@happyjung.com 에스크로확인
개인정보취급방침
COPYRIGHT 2001~2017 해피정닷컴. All rights reserved. 부가통신사업신고:서울체신청-1217 통신판매신고:2014-서울구로-0074
 
모바일 버전으로 보기