DROP TYPE
DROP TYPE
사용자 정의 유형(user-defined type)을 제거하는 명령이에요. 사용자 정의 유형은 사용자가 정의한 데이터 타입 객체예요.
출처: 문서
본문
구문 (Syntax)
DROP TYPE <name>
파라미터
- name — 삭제할 사용자 정의 유형의 식별자를 지정해요. 식별자에 공백이나 특수 문자가 포함되면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요.
접근 제어 요구사항 (Access control requirements)
이 작업을 실행하는 역할은 최소한 다음 권한을 가져야 해요:
| Privilege | Object | Notes |
|---|---|---|
| OWNERSHIP | User-defined type | OWNERSHIP은 객체 생성 역할에 자동 부여되는 특수 권한이지만, 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP 명령으로 다른 역할에 이전할 수도 있어요. |
스키마에서 객체를 운영하려면 부모 데이터베이스에 대한 권한이 하나 이상, 부모 스키마에 대한 권한이 하나 이상 필요해요.
사용 메모 (Usage notes)
- 사용자 정의 유형을 삭제하기 전에, 어떤 테이블이나 다른 데이터베이스 객체도 사용자 정의 유형을 참조하지 않는지 확인해요.
SHOW명령으로 사용자 정의 유형을 참조하는 데이터베이스 객체를 확인할 수 있어요. 예를 들어 다음 쿼리는 파이프 연산자(->>)가 있는SHOW COLUMNS명령을 실행하여AGE라는 텍스트를 포함하는 데이터 유형의 열이 있는 테이블을 반환해요:
SHOW COLUMNS ->>
SELECT "table_name", "data_type"
FROM $1
WHERE "data_type" LIKE '%AGE%';
- 사용자 정의 유형이 삭제되고 쿼리가 해당 유형의 열을 직접 참조하면 쿼리가 실패해요. 삭제된 유형의 열을 직접 참조하지 않는 쿼리는 정상적으로 실행돼요.
예시 (Examples)
DROP TYPE 명령으로 age 사용자 정의 유형을 삭제해요:
DROP TYPE age;