CREATE-TYPE

Erstellt einen benutzerdefinierten Typ.

Siehe auch:

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

Syntax

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

Erforderliche Parameter

name

Gibt den Bezeichner für den benutzerdefinierten Typ an. Dieser muss für das Schema, in dem der benutzerdefinierte Typ erstellt wird, eindeutig sein.

Der Name darf nicht mit dem Namen eines Snowflake-Typs identisch sein. Der Typname darf zum Beispiel nicht array oder geometry lauten.

Wenn der Name derselbe ist wie eine:doc:Snowflake-Schlüsselwort </sql-reference/reserved-keywords>, muss er in doppelten Anführungszeichen angegeben werden.

Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B. "My object"). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

AS type

Eine vorhandene Definition für einen Snowflake-Datentyp.

Die angegebene Typdefinition ist der Basistyp für den zu erstellenden benutzerdefinierten Typ.

type kann kein anderer benutzerdefinierter Typ sein.

Optionale Parameter

COMMENT = 'string_literal'

Gibt einen Kommentar für den benutzerdefinierten Typ an.

Standard: Kein Wert

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

CREATE-TYPE

Schema

Für das Ausführen von Operationen für ein Objekt in einem Schema ist mindestens eine Berechtigung für die übergeordnete Datenbank und mindestens eine Berechtigung für das übergeordnete Schema erforderlich.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Nutzungshinweise

  • Die Klauseln OR REPLACE und IF NOT EXISTS schließen sich gegenseitig aus. Sie können nicht beide in der gleichen Anweisung verwendet werden.

  • CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn ein Objekt ersetzt wird, erfolgt das Löschen des alten Objekts und das Erstellen des neuen Objekts in einer einzigen Transaktion.

  • Metadaten:

    Achtung

    Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „User“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.

Beispiele

Verwenden Sie den Befehl CREATETYPE, um einen benutzerdefinierten Typ zu erstellen, der auf dem NUMBER-Datentyp basiert:

CREATE TYPE age AS NUMBER(3,0);

Erstellen eines benutzerdefinierten Typs auf Grundlage des OBJECT-Datentyps:

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

Weitere Beispiele finden Sie unter Beispiele für benutzerdefinierte Datentypen.