Partager via


Types de procédures stockées

De nombreux types de procédures stockées sont disponibles dans Microsoft SQL Server. Cette rubrique décrit brièvement chaque type de procédure stockée et fournit un exemple.

Procédures stockées définies par l'utilisateur

Les procédures stockées sont des modules ou des routines qui encapsulent du code en vue de le réutiliser. Une procédure stockée peut accepter des paramètres d'entrée, retourner des résultats scalaires ou sous forme de tableau et des messages adressés au client, appeler des instructions DDL (Data Definition Language) et DML (Data Manipulation Language), et retourner des paramètres de sortie. Dans SQL Server 2008, une procédure stockée peut être de deux types : Transact-SQL ou CLR.

Transact-SQL

Une procédure stockée Transact-SQL est une collection enregistrée d'instructions Transact-SQL qui peut accepter et retourner des paramètres fournis par l'utilisateur. Par exemple, une procédure stockée peut contenir les instructions nécessaires à l'insertion d'une nouvelle ligne dans une ou plusieurs tables d'après les informations fournies par l'application cliente. Elle peut aussi retourner des données à partir de la base de données vers l'application cliente. Par exemple, une application Web de commerce électronique peut utiliser une procédure stockée pour retourner des informations sur des produits spécifiques, d'après des critères de recherche spécifiés par l'utilisateur en ligne.

CLR

Une procédure stockée CLR est une référence à une méthode CLR (Common Language Runtime) .NET Framework Microsoft qui peut accepter et retourner des paramètres fournis par l'utilisateur. Elles sont implémentées en tant que méthodes statiques et publiques sur une classe dans un assembly .NET Framework. Pour plus d'informations, consultez Procédures stockées CLR.

Procédures stockées étendues

Important

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez Intégration CLR à la place.

Les procédures stockées étendues vous permettent de créer vos propres routines externes dans un langage de programmation comme le langage C. Ce sont des DLL qu'une instance de Microsoft SQL Server peut charger et exécuter dynamiquement. Les procédures stockées étendues s'exécutent directement dans l'espace d'adressage d'une instance de SQL Server et elles sont programmées au moyen de l'API des procédures stockées étendues SQL Server.

Notes

L'intégration CLR offre une alternative plus robuste et plus sûre à l'écriture des procédures stockées étendues.

Procédures stockées système

Un grand nombre d'activités administratives dans SQL Server s'exécutent à l'aide d'un type spécial de procédure, appelée procédure stockée système. Par exemple, sys.sp_changedbowner est une procédure stockée système. Les procédures stockées système sont stockées physiquement dans la base de données des ressources et elles portent le préfixe sp_. Elles apparaissent logiquement parlant dans le schéma sys de chaque base de données système et de chaque base de données définie par l'utilisateur. Dans SQL Server 2008, les autorisations GRANT, DENY et REVOKE peuvent leur être appliquées. Pour obtenir la liste complète des procédures stockées système, consultez Procédures stockées système (Transact-SQL).

SQL Server prend en charge les procédures stockées système qui assurent l'interface entre SQL Server et les programmes externes pour diverses activités de maintenance. Ces procédures stockées étendues utilisent le préfixe xp_. Pour obtenir la liste complète des procédures stockées étendues, consultez Procédures stockées étendues générales (Transact-SQL).