Share via


Definieren von UDT-Tabellen und -Spalten

Sobald die Assembly, die die UDT-Definition (User-defined Type, benutzerdefinierter Typ) enthält, in einer Microsoft SQL Server-Datenbank registriert wurde, kann sie in einer Spaltendefinition verwendet werden.

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 er einer der systeminternen SQL Server-Datentypen. Die folgende CREATE TABLE-Transact-SQL-Anweisung erstellt eine Tabelle mit dem Namen Points, mit einer Spalte mit dem Namen ID, die als int-Identitätsspalte definiert ist, und \ als Primärschlüssel für die Tabelle. Die zweite Spalte hat den Namen PointValue und den 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, wenn der UDT binär sortiert ist, können Sie einen Index über die gesamte UDT-Spalte mithilfe der CREATE INDEX-Transact-SQL-Anweisung erstellen.

  • 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 Benutzerdefinierte CLR-Typen und CREATE INDEX (Transact-SQL).

Siehe auch

Andere Ressourcen

Arbeiten mit benutzerdefinierten Typen in SQL Server