SQL

[PostgreSQL] insert시 seq 최댓값 + 1로 자동증가 입력 (MAX값 +1)

15호의 개발자 2022. 7. 13. 16:23
반응형

[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 값이 자동으로 따진다.

 

 

반응형