시퀀스 생성 및 관리
시퀀스는 고유한 순차적 값을 생성하는 스키마 객체로, 고유한 기본 키가 필요한 경우에 매우 유용합니다. 시퀀스는 CURRVAL 및 NEXTVAL이라는 의사 행을 통해 사용되는데, 이러한 열은 각각 시퀀스의 현재 값과 다음 값을 반환합니다.
시퀀스를 생성한 후에는 NEXTVAL로 초기화를 통해 첫번째 값을 가져와야 합니다. 시퀀스를 초기화한 후에만 CURRVAL은 현재 값을 반환합니다.
HR 스키마의 시퀀스는 DEPARTMENTS_SEQUENCE와 EMPLOYEES_SEQUENCE 및 LOCATIONS_SEQUENCE입니다.
팁: 시퀀스를 사용하여 테이블의 기본 키를 채우려는 경우 시퀀스에 이러한 용도에 맞는 이름을 지정하십시오. 이 항목에서는 TABLE_NAME이름 지정 규칙_SEQUENCE를 사용합니다.
참조:
-
시퀀스에 대한 개요는 Oracle Database Concepts를 참조하십시오
-
Oracle Database SQL Language Reference - CURRVAL 및 NEXTVAL 의사 열에 대한 자세한 내용
-
시퀀스 관리에 대한 자세한 내용은 Oracle Database Administrator's Guide를 참조하십시오.
자습서: 시퀀스 생성
이 자습서에서는 [데이터베이스 시퀀스 생성] 툴을 사용하여 EVALUATIONS 테이블의 기본 키를 생성하는 데 사용할 시퀀스를 생성하는 방법을 보여 줍니다.
EVALUATIONS 테이블은 Example 4-1에서 만들어졌습니다.
시퀀스를 생성하려면 SQL Developer 툴 시퀀스 생성이나 DDL 문 CREATE SEQUENCE를 사용합니다. 이에 상응하는 DDL 문은 다음과 같습니다.
CREATE SEQUENCE evaluations_sequence
INCREMENT BY 1
START WITH 1 ORDER;
Create Database Sequence 툴을 사용하여 EVALUATIONS_SEQUENCE를 생성하는 단계는 다음과 같습니다.
-
Connections(연결) 프레임에서 hr_conn을 확장합니다.
-
스키마 객체 유형 목록에서 순서를 마우스 오른쪽 단추로 누릅니다.
-
선택 항목 목록에서 새 시퀀스를 누릅니다.
-
시퀀스 생성 창의 이름 필드에서 기본값 "SEQUENCE1"에
EVALUATIONS_SEQUENCE를 입력합니다. -
[속성] 창이 표시되지 않으면 속성 탭을 누릅니다.
-
속성 창에서 다음 작업을 수행합니다.
-
[증분] 필드에
1을 입력합니다. -
다음으로 시작 필드에
1을 입력합니다. -
나머지 필드의 경우 기본값을 적용합니다.
-
확인을 누릅니다.
EVALUATIONS_SEQUENCE 시퀀스가 생성됩니다. 해당 이름은 연결 프레임의 시퀀스 아래에 나타납니다.
-
참조:
-
SQL Developer를 사용하여 시퀀스를 생성하는 방법에 대한 자세한 내용은 Oracle SQL Developer User's Guide를 참조하십시오.
-
Oracle Database SQL Language Reference - CREATE SEQUENCE 문에 대한 정보
-
EVALUATIONS_SEQUENCE에 의해 생성된 기본 키를 EVALUATIONS 테이블에 삽입하는 트리거를 생성하는 방법을 알아보려면 "자습서: 삽입되기 전에 행에 대한 기본 키를 생성하는 트리거 생성"을 누르십시오.
시퀀스 삭제
시퀀스를 삭제하려면 SQL Developer Connections 프레임과 DROP 툴이나 DDL 문 DROP SEQUENCE를 사용합니다 .
이 명령문은 EVALUATIONS_SEQUENCE 시퀀스를 삭제합니다.
DROP SEQUENCE EVALUATIONS_SEQUENCE;
주의: EVALUATIONS_SEQUENCE 시퀀스를 삭제하지 마십시오. 예 5-3에 필요합니다. 시퀀스 삭제를 연습하려면 다른 시퀀스를 생성한 다음 삭제하십시오.
삭제 툴을 사용하여 시퀀스를 삭제하는 단계:
-
Connections(연결) 프레임에서 hr_conn을 확장합니다.
-
스키마 객체 유형 목록에서 순서를 확장합니다.
-
시퀀스 목록에서 삭제할 시퀀스 이름을 마우스 오른쪽 버튼으로 누릅니다.
-
선택 항목 목록에서 삭제를 누릅니다.
-
[삭제] 창에서 적용을 누릅니다.
-
[확인] 창에서 확인을 누릅니다.
참조: Oracle Database SQL Language Reference에서 DROP SEQUENCE 문에 대한 자세한 내용을 참조하십시오.