CREATE TYPE

:doc:`사용자 정의 유형 </sql-reference/data-types-user-defined>`을 생성합니다.

참고 항목:

ALTER TYPE , DESCRIBE TYPE , SHOW TYPES , DROP TYPE , UNDROP TYPE

구문

CREATE [ OR REPLACE ] TYPE [ IF NOT EXISTS ] <name> AS <type>
  [ COMMENT = '<string_literal>' ]

필수 매개 변수

name

사용자 정의 유형의 식별자를 지정하며, 사용자 정의 유형이 생성되는 스키마에 대해 고유해야 합니다.

이름은 Snowflake 유형 이름과 같을 수 없습니다. 예를 들어, 유형 이름은 array 또는 ``geometry``일 수 없습니다.

이름이 :doc:`Snowflake 키워드 </sql-reference/reserved-keywords>`와 동일한 경우, 큰따옴표로 묶어야 합니다.

또한, 식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.

AS type

기존 Snowflake 데이터 타입 정의입니다.

지정된 유형 정의는 생성되는 사용자 정의 유형의 *기본 유형*입니다.

:samp:`{type}`은 다른 사용자 정의 유형일 수 없습니다.

선택적 매개 변수

COMMENT = 'string_literal'

사용자 정의 유형에 대한 설명을 지정합니다.

기본값: 값 없음

액세스 제어 요구 사항

이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.

권한

오브젝트

참고

CREATE TYPE

스키마

스키마의 오브젝트에 대한 작업을 수행하려면 상위 데이터베이스에 대한 하나 이상의 권한과 상위 스키마에 대한 하나 이상의 권한이 필요합니다.

지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.

보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.

사용법 노트

  • OR REPLACE 및 IF NOT EXISTS 절은 상호 배타적입니다. 두 절을 같은 문에 함께 사용할 수 없습니다.

  • CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.

  • 메타데이터 관련:

    주의

    고객은 Snowflake 서비스를 사용할 때 개인 데이터(사용자 오브젝트 제외), 민감한 데이터, 수출 통제 대상 데이터 또는 기타 규제 데이터가 메타데이터로 입력되지 않도록 해야 합니다. 자세한 내용은 Snowflake의 메타데이터 필드 섹션을 참조하십시오.

CREATE TYPE 명령을 사용하여 NUMBER 데이터 타입을 기반으로 사용자 정의 유형을 생성합니다.

CREATE TYPE age AS NUMBER(3,0);

OBJECT 데이터 타입을 기반으로 사용자 정의 유형을 생성합니다.

CREATE TYPE path AS OBJECT(
  relative BOOLEAN,
  segments ARRAY(STRING)
);

더 많은 예는 사용자 정의 데이터 타입의 예제 섹션을 참조하십시오.