반응형
자동으로 증가하는 컬럼을 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
반응형
'언어 > 데이터 베이스' 카테고리의 다른 글
| [MariaDB] Maria DB 설치 (0) | 2020.07.29 |
|---|---|
| postgre SQL 과 MySQL 차이점 블로그 저장 (0) | 2020.06.29 |
| [Mysql] : Mysql 설치, 제거 (0) | 2020.06.13 |
| SQL 특정 컬럼 값 추가하기 (0) | 2020.06.07 |
| unique key, primary key, foreign key 정리 (0) | 2020.05.04 |