Uso di tipi definiti dall'utente - Definizione di tabelle e colonne UDT

Si applica a:SQL Server

Dopo che l'assembly contenente la definizione del tipo definito dall'utente (UDT) è stato registrato in un database di Microsoft SQL Server, può essere usato in una definizione di colonna. Per altre informazioni, vedere CREATE TYPE (Transact-SQL).

Creazione di tabelle con tipo definito dall'utente

Per la creazione di una colonna con tipo definito dall'utente in una tabella non è necessaria una sintassi speciale. È possibile usare il nome del tipo definito dall'utente in una definizione di colonna come se fosse uno dei tipi di dati intrinseci SQL Server. L'istruzione Transact-SQL CREATE TABLE seguente crea una tabella denominata Points, con una colonna denominata ID, definita come colonna identity int e chiave primaria per la tabella. La seconda colonna è denominata PointValue, con un tipo di dati Point. Il nome dello schema usato in questo esempio è dbo. Si noti che per specificare un nome di schema è necessario disporre delle autorizzazioni appropriate. Se si omette il nome dello schema, viene utilizzato lo schema predefinito per l'utente del database.

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

Creazione di indici in colonne con tipo definito dall'utente

Per indicizzare una colonna con tipo definito dall'utente, sono disponibili due opzioni:

  • Indicizzare il valore completo. In questo caso, se il tipo definito dall'utente è ordinato in modo binario, è possibile creare un indice sull'intera colonna definita dall'utente usando l'istruzione Transact-SQL CREATE INDEX.

  • Indicizzare espressioni dei tipi definiti dall'utente. È possibile creare indici in colonne calcolate persistenti su espressioni dei tipi definiti dall'utente. L'espressione del tipo definito dall'utente può essere un campo, un metodo o una proprietà di un tipo definito dall'utente. L'espressione deve essere deterministica e non deve eseguire accesso ai dati.

Per altre informazioni, vedere CREATE INDEX (Transact-SQL).

Vedere anche

Uso di tipi definiti dall'utente in SQL Server
CREATE TYPE (Transact-SQL)
Tipi CLR definiti dall'utente