본문 바로가기
WIKI 기술 지식 베이스

DROP SEQUENCE

원문 보기 위키 갱신

DROP SEQUENCE은 데이터베이스에서 이름 붙은 시퀀스 생성기를 제거해요.

출처: 문서

본문

**Turso 확장 기능**: DROP SEQUENCE는 표준 SQLite에는 없는 Turso 전용 문이에요.

DROP SEQUENCE 문은 데이터베이스에서 시퀀스 객체를 제거해요. 삭제된 뒤에는 그 시퀀스 이름을 nextval(), currval(), setval()에 쓸 수 없어요.

문법

DROP SEQUENCE [IF EXISTS] [schema-name.]sequence-name;

설명

DROP SEQUENCE는 지정한 시퀀스를 데이터베이스 스키마에서 제거해요. IF EXISTS 절을 지정하지 않았다면 시퀀스가 반드시 존재해야 해요.

절

절 설명
IF EXISTS 시퀀스가 존재하지 않을 때 생길 오류를 억제해요. 시퀀스를 찾지 못하면 문은 아무 것도 하지 않아요.
schema-name 붙은(attached) 데이터베이스 이름. 생략하면 main 데이터베이스
sequence-name 제거할 시퀀스 이름.

예제

시퀀스 삭제하기

CREATE SEQUENCE my_seq;
SELECT nextval('my_seq');
-- 1

DROP SEQUENCE my_seq;

SELECT nextval('my_seq');
-- Error: sequence "my_seq" does not exist

IF EXISTS로 삭제하기

-- Safe to run even if the sequence does not exist
DROP SEQUENCE IF EXISTS nonexistent;

삭제 후 다시 만들기

시퀀스를 삭제하고 다시 만들면 초기 상태로 초기화돼요:

CREATE SEQUENCE counter;
SELECT nextval('counter');
-- 1
SELECT nextval('counter');
-- 2

DROP SEQUENCE counter;
CREATE SEQUENCE counter;

SELECT nextval('counter');
-- 1

오류

오류 원인
sequence "name" does not exist 그 이름의 시퀀스가 존재하지 않는데 IF EXISTS를 지정하지 않았어요.

더 알아보기 (Learn more)