영보의 SystemOut.log

[Oracle] 오라클 Insert 자동 증가 (MAX+1) 본문

Database/Oracle

[Oracle] 오라클 Insert 자동 증가 (MAX+1)

영보로그 2021. 3. 12. 16:27
반응형

 오류 상황 

 

 

- PK로 지정해놓은 컬럼의 파라미터 값이 Null값이라 컬럼 오류가 계속 발생

  1) 파라미터 값에 시퀀스 넣기 복잡함

  2) 시퀀스 말고 다른 방법 하고싶음

 

 

- 해결 방법 (Value절 삽입)

SELECT NVL(MAX(증가컬럼)+1,0) FROM 테이블)

 - 하지만 MAX+1은 동시성이 보장되지 않기 때문에 유의해야 한다.

 

 

 

 

 

 코드 

 

INSERT INTO EMP
			(EMPN, NAME, TEL, ADD, EMAIL, SEX, PHONE, CITY, SAL)
		VALUES
			(
			#{name},#{tel},#{add},#{email},#{sex},#{phone},#{ciyt},
            (
                SELECT NVL(MAX(empn)+1,0) FROM CMS_ENTRANCE)
            )

 

반응형