시퀀스(Sequence)

기혁·2023년 2월 15일
0

DBMS 학습

목록 보기
12/13
  • 연속적인 번호를 만들어 주는 기능
  • 시퀀스란 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체입니다.
  • 보통 PK값에 중복값을 방지하기 위해 사용한다.

📌 sequence

CREATE SEQUENCE seq_serial_no
INCREMENT BY 	1 			-- INCREMENT BY : 증가 값 // 1씩 증가
START WITH 		1			-- START WITH : 시작 값 
MAXVALUE		110			-- MAXVALUE : 최대 값
MINVALUE 		99			-- MINVALUE : 최소 값
CYCLE 						-- CYCLE 	: max 값 도달 시 다시 mim으로 돌아간다.
							--			NOCYCLE(기본값)
cache			2			-- cache	: 메모리 보관 값
;

예시

CREATE TABLE good(
	good_no		number(3),
	good_name	varchar2(10)
);

SELECT * FROM GOOD g ;
INSERT INTO GOOD VALUES (seq_serial_no.nextval,'제품11') -- 다음 번호 출력
;
INSERT INTO GOOD VALUES (seq_serial_no.currval,'제품12') -- 동일 번호 출력
;

SELECT seq_serial_no.currval FROM dual ;

DROP SEQUENCE seq_serial_no; -- 시퀀스 삭제

INSERT INTO GOOD VALUES (seq_serial_no.nextval,'제품1')
사용하면 위에서 시작값은 1이니 1시작하고 '제품2'로가면 2번으로 간다.

INSERT INTO GOOD VALUES (seq_serial_no.currval,'제품1')
사용하면 시작값이 1인데 '제품2'로 출력하면 번호는 제품1과 동일해진다.

profile
⭐️내가만든쿠키⭐️

0개의 댓글