오라클 시퀀스를 사용하지 않고 자동 증가하는 id 값 만들기
오라클의 자동증가 컬럼 설정을 찾아보면 대부분 시퀀스를 설정하여
INSERT 시 해당 컬럼에 sequence.NEXTVAL 을 이용하여 자동 증가시키는 예제가 대부분이었습니다.
그래서 시퀀스를 사용하지 않고 값을 자동증가 시킬 방법이 없을지 찾아보다가
다음과 같은 글을 발견했습니다.
https://stackoverflow.com/questions/11296361/how-to-create-id-with-auto-increment-on-oracle
How to create id with AUTO_INCREMENT on Oracle?
It appears that there is no concept of AUTO_INCREMENT in Oracle, up until and including version 11g. How can I create a column that behaves like auto increment in Oracle 11g?
stackoverflow.com
이 글에 아래쪽에 보시면
이런 부분이 나오는데
해당 쿼리를 이용하면
ID 에 값을 넣어주지 않아도 자동으로 증가하는 테이블을 만들 수 있습니다.
예를들어
create table TEST (
ID NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1),
CONTENT VARCHAR2(255),
);
이런 테이블을 생성하면
INSERT 시
INSERT INTO TEST (CONTENT) VALUES ('TEST');
이렇게 CONTENT 값만 넣어줘도
ID 컬럼에 자동으로 값이 증가되어 INSERT 되는 것을 확인할 수 있었습니다.