728x90
728x170
기본적인 Sequence 사용하는 방법
-- 시퀀스 생성
CREATE SEQUENCE seq_name
-- 시퀀스 삭제
DROP SEQUENCE seq_name
-- 다음 시퀀스 값 가져오기
nextval('seq_name')
-- 현재 시퀀스 값 가져오기 - 오류나는 경우 nextval('seq_name') 을 해주면 된다.
currval('seq_name')
-- 시퀀스 초기화 - true : nextval = +1, false : nextval = 1
setval('seq_name', seq_val, [true/false])
아래는 만들어진 시퀀스목록을 가져오는 쿼리문
select n.nspname as sequence_schema,
c.relname as sequence_name,
u.usename as owner
from pg_class c
join pg_namespace n on n.oid = c.relnamespace
join pg_user u on u.usesysid = c.relowner
where c.relkind = 'S'
and u.usename = current_user;
테이블 생성시 시퀀스 이용하여 자동증가 컬럼 정의 하기
CREATE SEQUENCE table_name_id_seq;
CREATE TABLE table_name (
id integer NOT NULL DEFAULT nextval('table_name_id_seq')
);
ALTER SEQUENCE table_name_id_seq OWNED BY table_name.id;
728x90
그리드형
'DB' 카테고리의 다른 글
[DB/PostgreSQL] 지정 시간 동안 수행된 쿼리 확인 (0) | 2023.10.06 |
---|---|
[DB/PostgreSQL] 실행 중인 쿼리 조회 및 실행 취소 (0) | 2023.10.06 |
[DB/PostgreSQL] 시간 데이터 처리하기 (날짜 데이터, 날짜 함수) (0) | 2023.10.06 |
[DB/PostgreSQL] Index 정보 얻기 (0) | 2023.09.19 |
[ORACLE] ORA-01861 : literal does not match format string 에러 (0) | 2023.07.17 |