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)
- CREATE SEQUENCE - 시퀀스 정의하기