[오라클 SQL] 시퀀스(Sequence) 생성하는 방법
- Database(데이터베이스)/Oracle
- 2019. 7. 18. 04:00
시퀀스(Sequence)란 자동 순번을 반환하는 데이터베이스 객체입니다!
쉽게 예를들어, 학생 테이블의 학생 번호가 현재 1부터 100까지 다 채워저 있고, 다른 학교에서 전학생이 전학을 와서 학생 데이터에 등록을 하려면 지금 현재 학생번호중 가장 Max(최대값)을 구해서 그 값에 +1을 해줘야 하는 번거로운 작업을 진행해야 합니다!
때문에, 이런 경우 학생번호를 처음부터 시퀀스로 생성해서 관리해주면 알아서 자동으로 순번을 반환해줘서 매우 편리하게 관리할 수 있게 해줍니다!
그렇다면 시퀀스 생성하는 방법을 SQL문 예시를 통하여 보여드리도록 하겠습니다!
시퀀스 생성 SQL
1 2 3 4 5 6 7 |
CREATE SEQUENCE my_Student_Seq INCREMENT BY 1 --증감숫자 START WITH 1 --시작숫자 MINVALUE 1 --최솟값 MAXVALUE 9999 --최대값 NOCYCLE --최대나 최소값 도달하면 중지, CYCLE하면 최대값에 도달하면 최소, 최소값에 도달하면 최대 NOCACHE; --메모리에 시퀀스 값을 미리 할당 |
Toad 시퀀스 결과 화면
이렇게 my_Student_Seq가 제대로 생성이 된 것을 확인하실 수 있습니다!
이제는 생성된 시퀀스를 어떻게 테이블에 데이터를 넣는지 알려드릴게요!
시퀀스 Inser SQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
INSERT INTO WIN.STUDENT VALUES(MY_STUDENT_SEQ.NEXTVAL, '1', '범범조조', '27', '4', 'A+')
;
INSERT INTO WIN.STUDENT VALUES(MY_STUDENT_SEQ.NEXTVAL, '1', '장미', '27', '4', 'A+')
;
INSERT INTO WIN.STUDENT VALUES(MY_STUDENT_SEQ.NEXTVAL, '2', '프링글', '27', '4', 'A+')
;
INSERT INTO WIN.STUDENT VALUES(MY_STUDENT_SEQ.NEXTVAL, '3', '사', '27', '4', 'A+') |
이처럼 시퀀스.NEXTVAL이라고 사용하면, 시퀀스에 자동으로 순번대로 데이터를 입력하게 됩니다!
INSERT 데이터 조회
이렇게 시퀀스가 자동으로 SCHOOL_NO에 순차적으로 잘 들어간 것을 확인할 수 있습니다!
감사합니다~~
'Database(데이터베이스) > Oracle' 카테고리의 다른 글
[오라클 SQL] LISTAGG 함수를 이용하여 여러행을 단일 컬럼으로 가져오기 (0) | 2019.07.23 |
---|---|
[오라클 SQL] Table 조인(Join) 설명 (0) | 2019.07.19 |
[오라클 SQL] 오라클 중복 데이터 제거하는 방법 – DISTINCT 키워드 사용 (0) | 2019.07.16 |
[오라클 SQL] 오라클 TO_CHAR 숫자 Format(형태) 사용 방법 (0) | 2019.07.12 |
[오라클 SQL] COUNT함수를 이용하여 학년 별 학생 수 구하는 방법 (0) | 2019.07.10 |
이 글을 공유하기