반응형
[PostgreSQL] insert시 seq 최댓값 + 1로 자동증가 입력 (MAX값 +1)
PostgreSQL EDB는 Oracle과 호환되는 문법이 많다.
PostgreSQL에서 insert시 seq 값을 최댓값 + 1로 자동증가 되게끔 입력하고 싶다면 아래 쿼리를 이용하면 된다.
INSERT INTO
스키마명.테이블명 (
컬럼명
)
VALUES (
(SELECT NVL(MAX(컬럼명), 10000000000) + 1 AS 컬럼명 FROM 스키마명.테이블명)
)
문법은 오라클 문법과 동일한데, 이는 PostgreSQL EDB에서는 동작한다.
위의 경우 insert되는 컬럼 값이 백억(10,000,000,000)이 넘을 가능성이 없기 때문에
충분히 큰 수인 백억으로 설정해둔 것이다.
이 경우 백억부터 1씩 증가되는 seq 값이 자동으로 따진다.
반응형