[28] PostgreSQL – 시퀀스 만들기
PostgreSQL의 시퀀스는 지정된 사양을 기반으로 정수 시퀀스를 생성하는 사용자 정의 스키마 바운드 개체입니다. CREATE SEQUENCE 문은 PostgreSQL에서 시퀀스를 만드는 데 사용됩니다.
이제 위 구문을 분석해 보겠습니다.
- 먼저 CREATE SEQUENCE 절 뒤에 시퀀스 이름을 설정합니다. IF NOT EXISTS는 존재하지 않는 경우에만 새 시퀀스를 조건부로 생성합니다.
- 둘째, 시퀀스의 데이터 유형을 지정합니다. 유효한 데이터 유형은 SMALLINT, INT 및 BIGINT입니다. 건너뛸 경우 기본 데이터 유형은 BIGINT입니다. 시퀀스의 최소값과 최대값을 결정하는 데 사용됩니다.
- increment은 새 값을 만들기 위해 현재 시퀀스 값에 추가할 값을 지정합니다. 양수는 오름차순을 만들고 음수는 내림차순을 만듭니다. 기본 increment 값은 1입니다.
- 그런 다음 시퀀스의 최소값과 최대값을 정의합니다. NO MINVALUE 또는 NO MAXVALUE를 사용하는 경우 시퀀스는 기본값을 사용합니다. 오름차순의 경우 기본 최대값은 해당 시퀀스의 데이터 타입의 최대값이고 기본 최소값은 1이고, 내림차순의 경우 기본 최대값은 -1이고 기본 최소값은 최소값이다. 시퀀스의 데이터 유형 값입니다.
- START 절은 시퀀스의 시작 값을 지정합니다.
- CYCLE을 사용하면 한계에 도달한 경우 값을 다시 시작할 수 있습니다. 다음 숫자는 오름차순의 경우 최소값이고 내림차순의 경우 최대값입니다. NO CYCLE을 사용하는 경우 한계에 도달했을 때 다음 값을 가져오려고 하면 오류가 발생합니다. CYCLE 또는 NO CYCLE을 명시적으로 지정하지 않은 경우 NO CYCLE이 기본값입니다.
- OWNED BY 절을 사용하면 열 또는 테이블을 삭제할 때 PostgreSQL이 연결된 시퀀스를 자동으로 삭제할 수 있도록 테이블 열을 시퀀스와 연결할 수 있습니다.
예시 01:
이 예에서는 CREATE SEQUENCE 문을 사용하여 10부터 시작하여 5씩 증가하는 새 오름차순 시퀀스를 만듭니다.
시퀀스에서 다음 값을 얻으려면 nextval() 함수를 사용합니다.
결과는 아래와 같습니다.
이제 nexval() 함수를 반복하면 증가된 값을 얻습니다.
결과 01:
예시 02:
다음 예시는주기 옵션을 사용하여 3에서 1까지 내림차순 시퀀스를 생성합니다.
다음 문을 여러 번 실행하면 3, 2, 1에서 시작하여 다시 3, 2, 1 등으로 숫자가 표시됩니다.
결과 02:
예시 03:
이 예에서는 아래 문을 사용하여 테이블 열과 연결된 시퀀스를 만듭니다.
둘째, order_details 테이블의 item_id 열과 연결된 새 시퀀스를 만듭니다.
셋째, order_details 테이블에 3개의 주문 라인 항목을 삽입합니다.
넷째, order_details 테이블의 쿼리 데이터:
결과 03:
'공부 > PostgreSQL' 카테고리의 다른 글
[30] PostgreSQL – 열 제거하는 방법 (DROP COLUMN) (0) | 2023.04.22 |
---|---|
[29] PostgreSQL – 열 추가하는 방법 (ADD COLUMN) (0) | 2023.04.22 |
[27] PostgreSQL – SELECT INTO (0) | 2023.04.21 |
[26] PostgreSQL – BETWEEN 연산자 (0) | 2023.04.15 |
[25] PostgreSQL – LIKE 연산자 (0) | 2023.04.15 |
댓글