반응형
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을 사용해서 처리하는 방버에 대해서만 정리하도록 한다.
반응형
댓글