Types CLR définis par l’utilisateur
S'applique à :SQL Server
SQL Server vous donne la possibilité de créer des objets de base de données qui sont programmés sur un assembly créé dans le Common Language Runtime (CLR) du .NET Framework. Les objets de base de données pouvant tirer parti du modèle de programmation évolué fourni par le CLR comprennent les déclencheurs, les procédures stockées, les fonctions, les fonctions d'agrégation et les types.
Remarque
La possibilité d’exécuter du code CLR est définie sur OFF par défaut dans SQL Server. Le CLR peut être activé à l’aide de la procédure stockée système sp_configure
.
Vous pouvez utiliser des types définis par l’utilisateur (UDT) pour étendre le système de type scalaire du serveur, ce qui permet de stocker des objets CLR dans une base de données SQL Server. Les UDT peuvent contenir plusieurs éléments et peuvent avoir des comportements, les différentiant des types de données d’alias traditionnels qui se composent d’un seul type de données système SQL Server.
Étant donné que les UDT sont accessibles par le système dans son ensemble, leur utilisation pour les types de données complexes peut affecter négativement les performances. Les données complexes sont généralement mieux modélisées au moyen de lignes et de tables traditionnelles. Les UDT dans SQL Server conviennent parfaitement au type de données suivant :
- Date, heure, devise et types numériques étendus
- Applications géographiques
- Données encodées ou chiffrées
Le processus de développement d’UDT dans SQL Server se compose des étapes suivantes :
Codez et générez l’assembly qui définit l’UDT. Les UDT sont définis à l’aide de l’un des langages pris en charge par le Common Language Runtime (CLR) .NET Framework qui produisent du code vérifiable. Cela inclut C# et Visual Basic .NET. Les données sont exposées en tant que champs et propriétés d'une classe ou d'une structure .NET Framework, et les comportements sont définis par des méthodes de la classe ou de la structure.
Inscrire l’assembly . Les UDT peuvent être déployés via l’interface utilisateur de Visual Studio dans un projet de base de données ou à l’aide de l’instruction Transact-SQL
CREATE ASSEMBLY
, qui copie l’assembly contenant la classe ou la structure dans une base de données.Créez l’UDT dans SQL Server. Une fois qu’un assembly est chargé dans une base de données hôte, vous utilisez l’instruction Transact-SQL CREATE TYPE pour créer un UDT et exposer les membres de la classe ou de la structure en tant que membres de l’UDT. Les types UDT existent uniquement dans le contexte d'une base de données unique et, une fois inscrits, n'ont pas de dépendances vis-à-vis des fichiers externes à partir desquels ils ont été créés.
Créez des tables, des variables ou des paramètres à l’aide de l’UDT. Un type défini par l’utilisateur peut être utilisé comme définition de colonne d’une table, en tant que variable dans un lot Transact-SQL, ou en tant qu’argument d’une fonction Transact-SQL ou d’une procédure stockée.
Dans cette section
Article | Description |
---|---|
Créer des types définis par l’utilisateur | Décrit comment créer des types UDT. |
Inscrire des types définis par l’utilisateur dans SQL Server | Décrit comment inscrire et gérer des UDT dans SQL Server. |
Utiliser des types définis par l’utilisateur dans SQL Server | Décrit comment créer des requêtes à l'aide de types UDT. |
Types définis par l’utilisateur Access dans ADO.NET | Décrit comment utiliser des UDT à l’aide de l’Fournisseur de données .NET Framework pour SQL Server dans ADO.NET. |