반응형

PK를 잡기위해 자동으로 증가하는 시퀀스를 사용하거나, 전자정부프레임워크의 EgovIdGnrStrategy 을 사용해왔다.
하지만 시퀀스없이 단순하게 숫자만 +1 씩 증가해주는 부분이 필요해 NVL과 MAX를 이용해 자동증가하는 부분에 대해 알아봤다.
우선 NVL 사용법은 아래를 확인하면된다!
https://madinthe90.tistory.com/24?category=1047512
[ORACLE] NVL,NVL2 (공백, NULL 값 치환)
NULL 값을 특정값으로 출력하고 싶은 경우 사용하는 함수이다! - NVL NVL 은 컬럼값이 NULL 인 경우 지정된 값을 출력, NULL이 아닌 경우 원래 값을 출력하는 함수. NVL(컬럼,'NULL일때 반환값') NVL(컬럼,0)
madinthe90.tistory.com
NVL(MAX(SEQ),0) + 1 사용하는 방법은 아주 간단하다!
- 사용법
SELECT NVL(MAX(증가시킬컬럼명),0) + 1 FROM 테이블명
데이터가 없으면 0, 있으면 최대값 +1을 하는 방식이며
해당 부분을 INSERT 문에 적용하면 된다!
반응형
'DB > ORACLE' 카테고리의 다른 글
[ORACLE] 주말과 공휴일 제외한 근무일(평일) 날짜 구하기(CONNECT BY LEVEL) (1) | 2022.09.20 |
---|---|
[ORACLE] ORDER BY 와 ROWNUM 함께 사용시 유의사항 (0) | 2022.05.03 |
[ORACLE] WHERE절에 IN 사용 (0) | 2022.04.04 |
[ORACLE] 전체 테이블 조회, 코멘트 조회 (0) | 2022.03.30 |
[ORACLE] 쿼리에 작은 따옴표(') 쓰기 (0) | 2022.02.22 |
댓글