본문 바로가기
DBMS/ORACLE

[ORACLE] 오라클_INSERT시 자동증분 MAX+1 적용하기(ft. NVL)

by 썸머워즈 2019. 2. 18.
반응형

NVL을 사용하여 INSERT 시 MAX+1하기

NVL함수를 사용하여 MAX+1을 하는 이유는 MAX해서 가져와야할 컬럼에 0이 처음에 들어있는 경우 에러가 발생하기 때문이다.

NVL(MAX( [컬럼] ) , [치환할 값]) + 1

실제로 사용하게되면 아래와 같은 방식으로 사용된다 (*testSeq는 변수다.)

INSERT INTO oracleStudy VALUES ( NVL( MAX(testSeq) , 0) + 1 , '학생1' , '오라클고등학교' );
INSERT INTO oracleStudy VALUES ( 
( SELECT NVL( MAX(testSeq) , 0) + 1 FROM oracleStudy ) 
, '학생1' 
, '오라클고등학교'
);

물론 NVL 말고도 MAX+1을 처리하는 방법이야 많지만 본문에서는 NVL을 사용해서 처리하는 방버에 대해서만 정리하도록 한다.


* NVL , NVL2 사용방법

 

[ORACLE] 오라클_NULL 값 일때 치환,처리 (ft. NVL , NVL2)

ORACLE 에서는 값이 NULL일때 특정 값으로 치환할 수 있도록 도와주는 함수가 존재하는데 NVL 과 NVL2이다. 이는 오직 ORACLE에서만 제공해주는 함수이기 때문에 다른곳에서는 사용하지 않는다. NVL 과 N

mine-it-record.tistory.com

반응형


댓글

TOP