오라클 INSERT 자동증가 컬럼의 최대값 +1하기 (MAX+1)
1. Oracle 시퀀스 만들기
먼저, 자동으로 증가하는 값을 생성하기 위해 시퀀스를 만들어야 합니다. 시퀀스는 값을 생성하기 위한 번호 생성기입니다. 다음과 같이 시퀀스를 생성할 수 있습니다.
CREATE SEQUENCE sequence_name
START WITH 1
INCREMENT BY 1
MAXVALUE 99999; -- 최대값 설정 (예: 99999)
위의 예제에서는 sequence_name
이라는 시퀀스를 생성하며, 시작값은 1이고, 1씩 증가하며, 최대값은 99999입니다. 최대값은 원하는 값으로 설정할 수 있으며, 필요에 따라 변경할 수 있습니다.
2. INSERT문에 시퀀스 사용하기
시퀀스를 만들었다면, 이제 INSERT문에서 해당 시퀀스를 사용하여 값을 자동으로 증가시킬 수 있습니다. 다음과 같이 시퀀스를 사용한 INSERT문을 작성할 수 있습니다.
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (sequence_name.NEXTVAL, value2, value3, ...);
위의 예제에서는 table_name
이라는 테이블에 값을 삽입하는 INSERT문입니다. 첫 번째 column에는 시퀀스를 사용하여 값을 자동으로 증가시킵니다. column2, column3 등에는 원하는 값들을 지정하여 데이터를 삽입합니다.
3. 시퀀스 값 확인하기
시퀀스의 현재 값을 확인하고 싶을 때는 다음과 같은 쿼리를 실행하면 됩니다.
SELECT sequence_name.CURRVAL
FROM dual;
위의 예제에서는 sequence_name
의 현재 값을 확인합니다. dual
은 오라클의 테이블로, 단일행/단일열의 값들을 반환합니다.
마무리
오라클에서 INSERT 자동증가 컬럼의 최대값에 1을 더하는 방법을 알아보았습니다. 시퀀스를 생성하고, INSERT문에서 시퀀스를 사용하여 값들을 자동으로 증가시킬 수 있습니다. 또한, CURRVAL을 사용하여 현재 시퀀스의 값을 확인할 수도 있습니다. 이렇게 자동증가 컬럼을 사용하면 별도의 로직 없이 번호를 자동으로 증가시킬 수 있어 편리합니다.
댓글