Teilen über


Arbeiten mit benutzerdefinierten Typen: Definieren von UDT-Tabellen und -Spalten

Gilt für: SQL Server

Sobald die Assembly, die die benutzerdefinierte Typdefinition (UDT) enthält, in einer Microsoft SQL Server-Datenbank registriert wurde, kann sie in einer Spaltendefinition verwendet werden. Weitere Informationen finden Sie unter CREATE TYPE (Transact-SQL).

Erstellen von Tabellen mit UDTs

Es gibt keine spezielle Syntax für das Erstellen einer UDT-Spalte in einer Tabelle. Sie können den Namen des UDT in einer Spaltendefinition verwenden, als wäre es einer der systeminternen SQL Server-Datentypen. Die folgende CREATE TABLE Transact-SQL-Anweisung erstellt eine Tabelle mit dem Namen Points mit einer Spalte namens ID, die als Int-Identitätsspalte und den Primärschlüssel für die Tabelle definiert ist. Die zweite Spalte heißt "PointValue" mit dem Datentyp "Point". Der in diesem Beispiel verwendete Schemaname ist dbo. Beachten Sie, dass Sie über die erforderlichen Berechtigungen verfügen müssen, um einen Schemanamen anzugeben. Wenn Sie den Schemanamen nicht angeben, wird das Standardschema für den Datenbankbenutzer verwendet.

CREATE TABLE dbo.Points   
(ID int IDENTITY(1,1) PRIMARY KEY, PointValue Point)  

Erstellen von Indizes für UDT-Spalten

Es gibt zwei Optionen für das Indizieren einer UDT-Spalte:

  • Indizieren Sie den vollständigen Wert. In diesem Fall können Sie, wenn die UDT binär sortiert ist, einen Index über die gesamte UDT-Spalte erstellen, indem Sie die CREATE INDEX Transact-SQL-Anweisung verwenden.

  • Indizieren Sie UDT-Ausdrücke. Sie können Indizes auf persistenten berechneten Spalten über UDT-Ausdrücken erstellen. Der UDT-Ausdruck kann ein Feld, eine Methode oder eine Eigenschaft eines UDT sein. Der Ausdruck muss deterministisch sein und darf keinen Datenzugriff ausführen.

Weitere Informationen finden Sie unter CREATE INDEX (Transact-SQL).

Weitere Informationen

Arbeiten mit benutzerdefinierten Typen in SQL Server
CREATE TYPE (Transact-SQL)
Benutzerdefinierte CLR-Typen