본문 바로가기

SQL/Oracle SQL

Oracle SQL - 8 (SEQUENCE)

(시퀀스를 사용하기 위해 테이블을 삭제하고 다시 생성)

 

DROP TABLE topic;
CREATE TABLE topic(
id NUMBER NOT NULL,
title VARCHAR2(50) NOT NULL,
description VARCHAR2(4000),
created DATE NOT NULL,
CONSTRAINT PK_TOPIC PRIMARY KEY(id)
);

 

1.  시퀀스 생성

CREATE SEQUENCE SEQ_TOPIC; (시퀀스의 이름)

 

2. 데이터 삽입

INSERT INTO topic
(id,title,description,created)
VALUES
(SEQ_TOPIC.NEXTVAL,'ORACLE','ORACLE is ...',SYSDATE);

INSERT INTO topic
(id,title,description,created)
VALUES
(SEQ_TOPIC.NEXTVAL,'MySQL','MySQL is ...',SYSDATE);

(SEQ_TOPIC.NEXTVAL : id값을 자동으로 1씩 증가 시켜줌)

 

 

SEQ_TOPIC.NEXTVAL을 이용한 데이터 삽입

3. SEQUENCE의 현재 값 출력 방법

3-1. SEQUENCE의 현재 값 출력
SELECT SEQ_TOPIC.CURRVAL FROM topic;
SELECT SEQ_TOPIC.CURRVAL FROM DUAL; (-> CURRVAL출력 값의 중복 방지)

 

(SEQ_TOPIC.CURRVAL : SEQUENCE의 현재 값을 출력 해줌)

 

 

SEQ_TOPIC.CURRVAL 출력 화면