Partage via


Création d’objets de base de données avec intégration du Common Language Runtime (CLR)

S’applique à : SQL Server

Vous pouvez générer des objets de base de données à l’aide de l’intégration de SQL Server à .NET Framework Common Language Runtime (CLR). Le code managé qui s’exécute à l’intérieur de Microsoft SQL Server est appelé « routine CLR ». Ces routines sont les suivantes :

  • Fonctions scalaires définies par l'utilisateur (fonctions UDF scalaires)

  • Fonctions table définies par l'utilisateur (TVF)

  • Procédures définies par l'utilisateur (UDP)

  • Déclencheurs définis par l’utilisateur

Les routines CLR ont la même structure en code managé. Ils sont mappés aux méthodes publiques et statiques (partagées dans Microsoft Visual Basic .NET) d’une classe. Outre les routines, les types définis par l'utilisateur (UDT) et les fonctions d'agrégation définies par l'utilisateur peuvent également être définies à l'aide du .NET Framework. Les types UDT et les agrégats définis par l'utilisateur sont mappés à des classes .NET Framework entières.

Chaque type de routine .NET Framework a une déclaration Transact-SQL et peut être utilisé n’importe où dans SQL Server que l’équivalent Transact-SQL peut être utilisé. Par exemple, les fonctions UDF scalaires peuvent être utilisées dans toute expression scalaire. Une fonction TVF peut être utilisée dans toute clause FROM. Une procédure peut être appelée dans une instruction EXEC ou à partir d'une application cliente.

Remarque

L'exécution d'un objet CLR (fonction définie par l'utilisateur, type défini par l'utilisateur ou déclencheur) sur le Common Language Runtime peut concerner plusieurs threads (plan parallèle), si l'optimiseur de requêtes décide que cela est nécessaire. Toutefois, si une fonction définie par l'utilisateur accède aux données, l'exécution se fera sur un plan en série. Lorsqu’elle est exécutée sur une version de serveur antérieure à SQL Server 2008 (10.0.x), si une fonction définie par l’utilisateur contient des paramètres métier ou des valeurs de retour, l’exécution doit également se trouver sur un plan série.

Le tableau ci-dessous répertorie les rubriques traitées dans cette section.

Prise en main de l’intégration du CLR
Fournit une brève vue d’ensemble des bibliothèques et espaces de noms requis pour compiler des objets à l’aide de l’intégration du CLR à SQL Server. Inclut un exemple de procédure stockée CLR "Hello World".

Bibliothèques .NET Framework prises en charge
Fournit des informations sur les bibliothèques .NET Framework prises en charge par l'intégration du CLR.

Restrictions du modèle de programmation de l’intégration du CLR
Fournit des informations sur les restrictions du modèle de programmation de l'intégration du CLR.

Types de données SQL Server dans .NET Framework
Vue d’ensemble des types de données SQL Server et de leurs équivalents .NET Framework.

Vue d’ensemble des attributs personnalisés de l’intégration du CLR
Fournit des informations sur les attributs personnalisés de l'intégration du CLR.

Fonctions CLR définies par l’utilisateur
Explique comment implémenter et utiliser les différents types de fonctions CLR : fonctions table, scalaires et d'agrégation définies par l'utilisateur.

Types CLR définis par l’utilisateur
Explique comment implémenter et utiliser les types CLR définis par l'utilisateur.

Procédures stockées du CLR
Explique comment implémenter et utiliser les procédures stockées CLR.

Déclencheurs CLR
Explique comment implémenter et utiliser les déclencheurs CLR.

Voir aussi

Vue d’ensemble de l’intégration du CLR (Common Language Runtime)