Recherche…


Introduction

Les types de table définis par l'utilisateur (UDT en abrégé) sont des types de données permettant à l'utilisateur de définir une structure de table. Les types de table définis par l'utilisateur prennent en charge les clés primaires, les contraintes uniques et les valeurs par défaut.

Remarques

Les UDT ont les restrictions suivantes -

  • ne peut pas être utilisé comme une colonne dans une table ou un champ dans un type structuré défini par l'utilisateur
  • un index non clusterisé ne peut pas être créé dans un UDT sauf si l'index est le résultat de la création d'une contrainte PRIMARY KEY ou UNIQUE sur l'UDT
  • La définition UDT NE PEUT PAS être modifiée après sa création

créer un UDT avec une seule colonne int qui est également une clé primaire

CREATE TYPE dbo.Ids as TABLE
(
    Id int PRIMARY KEY
)

Créer un UDT avec plusieurs colonnes

CREATE TYPE MyComplexType as TABLE
(
    Id int,
    Name varchar(10)
)

Créer un UDT avec une contrainte unique:

CREATE TYPE MyUniqueNamesType as TABLE
(
    FirstName varchar(10),
    LastName varchar(10),
    UNIQUE (FirstName,LastName)
)

Remarque: les contraintes dans les types de table définis par l'utilisateur ne peuvent pas être nommées.

Créer un UDT avec une clé primaire et une colonne avec une valeur par défaut:

CREATE TYPE MyUniqueNamesType as TABLE
(
    FirstName varchar(10),
    LastName varchar(10),
    CreateDate datetime default GETDATE()
    PRIMARY KEY (FirstName,LastName)
)


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow