시퀀스란?
- 테이블 내의 유일한 숫자를 자동으로 생성시켜 주는 역할을 합니다.
- 오라클에서 무결성을 위해 유일한 값을 가져야 할 경우, 사용자의 부담을 덜어낼 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | CREATE SEQUENCE sequence_name [START WITH n] [INCREMENT BY n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE}] //START WITH n : 시퀀스 번호의 시작을 지정합니다. //INCREMENT BY n : 연속적인 시퀀스 번호의 증가치를 지정할 때 사용됩니다. //MAXVALUE n : 시퀀스의 최대값을 지정합니다. //MINVALUE n : 시퀀스의 최소값을 지정합니다. //CYCLE : 시퀀스 값이 최대값까지 증가되고 나면 START WITH에서 지정한 시작값으로 시퀀스를 다시 시작합니다. //CACHE n : 메모리상에서 시퀀스 값을 관리하도록 하는 것으로 기본값은 20입니다. | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //시퀀스 생성 CREATE SEQUENCE SEQ_TEST INCREMENT BY 1 START WITH 1; //시퀀스 수정 ALTER SEQUENCE SEQ_TEST INCREMENT BY 2; //START WITH는 수정 불가 //시퀀스 삭제 DROP SEQUENCE SEQ_TEST; //INSERT에서 시퀀스 호출하기 INSERT INTO TEST(NUM, NAME, REG_DATE) VALUES (num_seq.NEXTVAL, 'JOHN', SYSDATE); //num_seq : 시퀀스명 //currval : 현재 시퀀스 값을 반환 //nextval : 현재 시퀀스값의 다음 값을 반환 //시퀀스 정보 보기 SELECT * FROM USER_SEQUENCES; | cs |
'데이터베이스' 카테고리의 다른 글
[oracle] 주사위 제한 관련 쿼리 (0) | 2013.11.01 |
---|---|
[oracle][mssql] oracle to_char를 mssql convert 함수로 변환 (0) | 2013.10.02 |
[mysql] Mysql 접속, 패스워드 변경 (0) | 2013.07.23 |
[mysql] failde host XXXXXX is not allowed to connect to this mysql server!!! (0) | 2013.07.23 |
[oracle] 4개 테이블 조인 참고 (0) | 2013.06.29 |