언어/데이터 베이스
SQL 자동증가하는 컬럼 카운트하기(select nvl(max(seq),0)
쟈누
2020. 6. 22. 17:00
반응형
자동으로 증가하는 컬럼을 PK로 잡거나 할떄 INSERT시 자동 증가로 시퀀스를 사용하지만 MAX+1을 사용할 때도 있다.
하지만 MAX+1은 동시성보장이 되지않아 insert 시 다른 트랜잭션에의해 중복값이 등록 될 수 있어 주의해야한다.
사용하는 방법은 간단하다.
SELECT NVL(MAX(증가컬럼)+1,0) FROM 테이블)
insert into board(seq, title, writer, content) values ((select nvl(max(seq),0)+1 from board),?,?,?)";
위 구문을 INSERT VALUE 절에 넣어주면 된다.
참고링크
https://coding-factory.tistory.com/292
[Oracle] 오라클 insert 자동증가 컬럼의 최대값 +1하기 (MAX+1)
NVL함수와 MAX함수를 활용하여 오라클 데이터 insert시 컬럼의 최대값+1을 저장하는 방법입니다. INSERT INTO DEPT_TABLE ( DEPT_SQ, COMPANY, DEPT_NM ) VALUES ( (SELECT NVL(MAX(DEPT_SQ),0)+1 FROM DEPT_TABLE..
coding-factory.tistory.com
반응형