자동으로 증가하는 컬럼을 PK로 잡거나 할떄 INSERT시 자동 증가로 시퀀스를 사용하지만 MAX+1을 사용할 때도 있다.
하지만 MAX+1은 동시성보장이 되지않아 insert 시 다른 트랜잭션에의해 중복값이 등록 될 수 있어 주의해야한다.
사용하는 방법은 간단하다.
위 구문을 INSERT VALUE 절에 넣어주면 된다.
테스트 테이블(COUNTRIES)
위 테이블에 REGION_ID를 증가시켜 입력하기.
INSERT INTO COUNTRIES( COUNTRY_ID, COUNTRY_NAME, REGION_ID) VALUES( 'CB', 'CODING BUB', (SELECT NVL(MAX(REGION_ID)+1,0) FROM COUNTRIES)); | cs |
'DB\SQL' 카테고리의 다른 글
[Oracle]그룹핑시 행 겹치기(LISTAGG) (0) | 2019.02.28 |
---|---|
[Oracle]조회결과 중복제거(DISTINCT) (0) | 2019.02.27 |
[Oracle]오라클 조회 순번매기기(ROWNUM,ROW_NUMBER) (0) | 2019.02.19 |
[Oracle]오라클 문자 합치기(CONCAT, ||) (2) | 2019.02.14 |
[Oracle]오라클 대문자,소문자 변환 UPPER LOWER (0) | 2019.02.13 |