DB/oracle
오라클 PRIMARY KEY, SEQUENCE
Alex_Lee
2021. 10. 6. 15:37
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) #ID를 기준으로 PRIMARYKEY PK_TOPIC 만듦
);
PRIMARY KEY 지정 컬럼은 중복 데이터 기입 불가능
다중 PRIMARY KEY도 가능 (CONSTRAINT PK_TOPIC PRIMARY KEY(ID,TITLE)) << 이런식으로
PRIMARY KEY를 기준으로 데이터를 찾으면 빠르다
CREATE SEQUENCE SEQ_TOPIC; #SEQ_TOPIC 이라는 시퀀스 만듦
SEQ_TOPIC.NEXTVAL #다음 시퀀스값(아래와 같이 사용)
INSERT INTO TOPIC
(ID,TITLE,DESCRIPTION,CREATED)
VALUES
(SEQ_TOPIC.NEXTVAL,'ORACLE','ORACLE IS...',SYSDATE);
#아래는 시퀀스값 확인하는 메소드
SELECT SEQ_TOPIC.CURRVAL FROM TOPIC; # 현재 시퀀스 값(행 갯수만큼나옴)
SELECT SEQ_TOPIC.CURRVAL FROM DUAL; #현재시퀀스 값 (하나만 나옴)