Zum Inhalt springen

CREATE TYPE-Anweisung

Die CREATE TYPE-Anweisung definiert einen neuen Typ im Katalog.

Beispiele

Einen einfachen ENUM-Typ anlegen:

CREATE TYPE mood AS ENUM ('happy', 'sad', 'curious');

Einen einfachen STRUCT-Typ anlegen:

CREATE TYPE many_things AS STRUCT(k INTEGER, l VARCHAR);

Einen einfachen UNION-Typ anlegen:

CREATE TYPE one_thing AS UNION(number INTEGER, string VARCHAR);

Einen Typalias anlegen:

CREATE TYPE x_index AS INTEGER;

Einen vorhandenen Typ ersetzen:

CREATE OR REPLACE TYPE mood AS ENUM ('cheerful', 'gloomy');

Syntax

Die CREATE TYPE-Klausel definiert einen neuen Datentyp, der dieser DuckDB-Instanz zur Verfügung steht. Verwenden Sie den Modifikator OR REPLACE, um einen bereits vorhandenen Typ neu zu definieren. Diese neuen Typen können anschließend in der Tabelle duckdb_types inspiziert werden.

Einschränkungen

  • Das Erweitern von Typen um benutzerdefinierte Operatoren (wie den PostgreSQL-Operator &&) ist nicht über reines SQL möglich. Stattdessen ist zusätzlicher C++-Code erforderlich. Legen Sie dazu eine Extension an.