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

DROP TYPE

원문 보기 위키 갱신

사용자가 직접 정의한 커스텀 타입(custom type)을 데이터베이스에서 제거하는 DROP TYPE 문이에요. Turso 전용 확장 기능이라 실험적(experimental) 단계라는 점만 기억하면 사용법 자체는 아주 간단해요.

출처: 문서

본문

**Turso 확장**: DROP TYPE은 표준 SQLite에는 없는 Turso 전용 문장이에요. 이 기능은 실험적이며 사용 전에 [활성화](/sql-reference/experimental-features)해야 해요.

DROP TYPE 문은 사용자가 정의한 커스텀 타입을 데이터베이스에서 제거해요. 타입이 제거되고 나면 그 타입 이름을 새 컬럼 정의에 더 이상 사용할 수 없어요.

Syntax

DROP TYPE [IF EXISTS] type-name;

Description

DROP TYPE은 지정한 커스텀 타입을 데이터베이스에서 제거해요. IF EXISTS 절을 지정하지 않았다면 해당 타입이 반드시 존재해야 해요.

Clauses

Clause Description
IF EXISTS 타입이 존재하지 않을 때 발생할 오류를 무시해요. 타입을 찾지 못하면 문장은 아무 작업도 하지 않아요.
type-name 제거할 커스텀 타입의 이름이에요.

Restrictions

어떤 테이블 컬럼이 해당 타입을 사용하고 있는 동안에는 타입을 제거할 수 없어요. 타입을 제거하려면 그 타입의 모든 컬럼을 없애거나 테이블 자체를 먼저 삭제해야 해요.

CREATE TYPE cents BASE integer ENCODE value * 100 DECODE value / 100;

CREATE TABLE prices (
    id INTEGER PRIMARY KEY,
    amount cents
) STRICT;

-- 'prices' 테이블에 'cents' 타입 컬럼이 있어서 실패해요
DROP TYPE cents;
-- Error: type 'cents' is in use

-- 테이블을 먼저 삭제한 다음 타입을 삭제해요
DROP TABLE prices;
DROP TYPE cents;

Examples

Drop a Custom Type

CREATE TYPE reversed_text BASE text
    ENCODE turso_reverse(value)
    DECODE turso_reverse(value);

DROP TYPE reversed_text;

Drop a Type with IF EXISTS

-- 타입이 존재하지 않아도 안전하게 실행돼요
DROP TYPE IF EXISTS reversed_text;

See Also

더 알아보기 (Learn more)