▶ 시퀀스(Sequence)
시퀀스 생성 | CREATE SEQUENCE 시퀀스명 |
시퀀스 다음값 (+1 증가) | NEXTVAL('시퀀스명') |
시퀀스 현재값 | CURRVAL('시퀀스명') |
시퀀스 수정 | SETVAL('시퀀스명', 시퀀스값, [TRUE/FALSE]) |
시퀀스 삭제 | DROP 시퀀스명SEQ_NAME |
오라클에서는 시퀀스명.nextval()로 사용했었는데 Postgres는 문법이 다르다.
이걸 몰라서 한참 헤맸는데 다음에 참고할 수 있도록 기록해둬야겠다
▶ 시퀀스 생성 예시
CREATE SEQUENCE 스키마.시퀀스명 MINVALUE 1 MAXVALUE 2147483647 START 1 CACHE 1 NO CYCLE; |
▶ 시퀀스 수정 예시
SQL | nextval() 사용 시 적용되는 값 |
SETVAL('시퀀스명', 1, FALSE) | 1 |
SETVAL('시퀀스명', 1, TRUE) | 2 |
SETVAL()은 잘 사용하지 않았는데 시퀀스 초기화 할 때 유용한 함수이다
이번에 시행착오를 겪으면서 값을 제대로 넣기 전에 시퀀스가 증가했었는데, SETVAL()을 써서 1부터 시작할 수 있었다.
'SQL' 카테고리의 다른 글
[오라클] 테이블 백업 / 복사하기 (0) | 2022.08.26 |
---|---|
[Oracle] 특정 컬럼이 존재하는 테이블, 뷰, 코멘트 찾기 (2) | 2022.05.12 |
[PostgresSQL] B테이블 조회 결과 A테이블에 UPDATE 하기 (0) | 2022.01.24 |
[PostGresSQL/PostGIS] 에러 및 해결 기록 (0) | 2022.01.19 |
[Oracle] SQL Developer 에러 메세지 정리 (오류 보고) (0) | 2021.05.24 |