티스토리 뷰


1. CREATE SEQUENCE 역할 

테이블에서 일련의 순번을 순차적으로 편하게 입력하고자 할 때 사용


◈ 구문형식


CREATE SEQUENCE 스퀀스 이름  START WITH 시작번호

                                            INCREMENT BY 증가값



2. CREATE SEQUENCE - 설명 


◈ 시퀀스 사용 이유


예를 들어서 테이블을 만들고 NUM이라는 컬럼을 PRIMARY KEY로 지정을 했습니다.

이 테이블에 데이터를 입력할 때 NUM은 맨 마지막 NUM에 1을 더한 값으로 입력을 해줍니다.

즉,MAX(NUM)+1을 해주는 것을 매번 INSERT 할 때마다 해주게 되는데 이렇게 하면 INSERT 문장을 쓸 때도 복잡해지고 질의도 부하가 생길 수 있습니다.

이 때를 위해서 사용하는 것이 시퀀스 입니다.



3.  CREATE SEQUENCE - SQL 문장


◈ SQL 문장

1
2
3
CREATE SEQUENCE TEST_SEQ
START WITH 10
INCREMENT BY 10;

◈ 설명



지금처럼 TEST_SEQ를 만들었습니다.

시작하는 번호는 10이고 10씩 증가하게 하였습니다.

즉, 첫번째 데이터가 입력될 때는 10이 입력이 되고 두번째 데이터부터 10씩 증가해서 20,30,40..... 이렇게 증가하게 됩니다.



4.  SEQUENCE 적용 - SQL 문장


◈ SQL 문장

1
2
3
INSERT INTO TEST_TABLE_ONE(NUM,NAME,ID)
VALUES(TEST_SEQ.NEXTVAL,'테스트','test');
COMMIT;


◈ 설명


이 시퀀스를 적용할 때는 만들어진 시퀀스 이름 TEST_SEQ를 입력하고 뒤에 점을 찍어주고 NEXTVAL이라고 해주면 시퀀스에서는 자동으로 다음 번호를 입력해 주게 됩니다.

이렇게 이용을 하게 되면 테이터 삽입시 MAX를 구해서 더하기 한 것보다 질의 부하도 줄어들도 쿼리를 사용할 때도 좀 더 편하게 이용할 수 있습니다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday