DB2-시퀀스

이 장에서는 시퀀스의 개념, 시퀀스 생성, 시퀀스보기 및 드롭에 대해 소개합니다.

소개

시퀀스는 한정된 범위 내에서 오름차순 또는 내림차순으로 정수를 생성하여 기본 키를 생성하고 테이블간에 다른 키를 조정하는 소프트웨어 기능입니다. 예를 들어 employee_id 또는 transaction_id에 대해 유효한 정수 번호에 시퀀스를 사용합니다. 시퀀스는 SMALLINT, BIGINT, INTEGER 및 DECIMAL 데이터 유형을 지원할 수 있습니다. 시퀀스는 여러 응용 프로그램간에 공유 될 수 있습니다. 시퀀스는 트랜잭션에 관계없이 증가 또는 감소합니다.

시퀀스는 CREATE SEQUENCE 문으로 생성됩니다.

시퀀스 유형

다음 두 가지 유형의 시퀀스를 사용할 수 있습니다.

  • NEXTVAL: 시퀀스 번호에 대해 증가 된 값을 반환합니다.

  • PREVIOUS VALUE: 최근 생성 된 값을 반환합니다.

시퀀스 매개 변수

다음 매개 변수는 시퀀스에 사용됩니다.

Data type: 반환 된 증분 값의 데이터 유형입니다. (SMALLINT, BIGINT, INTEGER, NUMBER, DOUBLE)

START WITH: 시퀀스가 ​​시작되는 참조 값입니다.

MINVALUE: 시퀀스를 시작할 최소값입니다.

MAXVALUE: 시퀀스의 최대 값입니다.

INCREMENT BY: 시퀀스가 ​​증가하는 단계 값.

Sequence cycling: CYCLE 절은 시퀀스를 반복적으로 생성합니다. 시퀀스 생성은 이전 시퀀스 생성에 의해 데이터베이스에 저장되어있는 반환 된 값을 참조하여 수행됩니다.

시퀀스 생성

다음 구문을 사용하여 시퀀스를 생성 할 수 있습니다.

Syntax:

db2 create sequence <seq_name>

Example: [이름이 'sales1_seq'이고 값이 1에서 증가하는 새 시퀀스 생성]

db2 create sequence sales1_seq as int start 
with 1 increment by 1

시퀀스보기

아래 주어진 구문을 사용하여 시퀀스를 볼 수 있습니다.

Syntax:

db2 value <previous/next> value for <seq_name>

Example: [ 'sales1_seq'시퀀스에서 이전에 업데이트 된 값 목록보기]

db2 values previous value for sales1_seq

Output:

1 
----------- 
  4 
  1 record(s) selected.

시퀀스 삭제

시퀀스를 제거하려면“DROP SEQUENCE ”명령. 방법은 다음과 같습니다.

Syntax:

db2 drop sequence <seq_name>>

Example: [데이터베이스에서 'sales1_seq'시퀀스를 삭제하려면]

db2 drop sequence sales1_seq

Output:

DB20000I The SQL command completed successfully.