Procédures stockées pour un SQL Server Express
Microsoft SQL Server Express est une version gratuite de Microsoft SQL Server, qui est une ressource permettant d'administrer et de créer des bases de données et d'effectuer des analyses de données. Une grande partie des fonctionnalités de la version payante de SQL Server se trouve dans SQL Server Express, y compris l'outil de gestion visuelle SQL Management Studio et la possibilité d'utiliser des procédures stockées.
Langue des procédures stockées
Les procédures stockées sont des requêtes SQL que les utilisateurs de SQL Server peuvent enregistrer puis rappeler pour une exécution ultérieure. Les principales caractéristiques des procédures stockées incluent leur programmabilité et leur capacité à accepter des paramètres. Les procédures stockées sont écrites dans le langage de programmation de Transact SQL, qui est utilisé pour effectuer des requêtes de base de données. Les procédures stockées prennent la forme d'autres instructions SQL écrites en transact SQL, tout en acceptant également des paramètres.
Création de procédures stockées
Dans Microsoft SQL Server, une nouvelle procédure stockée peut être créée en cliquant avec le bouton droit sur un dossier de procédures stockées existantes, appelé \"Procédures stockées\" dans le volet Explorateur d'objets. SQL Server crée ce dossier automatiquement lorsqu'une nouvelle base de données est créée et le place ici dans la hiérarchie des dossiers : [dbaseName]>[\"Programmability\"]>[\"Stored Procedures\"].
Les nouvelles procédures stockées pour dbaseName sont stockées en dehors du sous-dossier \"System Stored Procedures,\" qui se trouve sous [\"Stored Procedures\"]. Lors de la création d'une nouvelle base de données, SQL Server remplit le dossier System Stored Procedures avec des scripts pour maintenir la base de données. Les utilisateurs de SQL Server n'ont pas besoin d'utiliser ces procédures stockées système pour créer les leurs.
Une fois la procédure stockée initialement créée, un nouvel onglet de requête s'ouvre. L'onglet contient un modèle ou un exemple de requête, que l'utilisateur modifie ensuite en fonction de ses besoins.
Exemple de procédure
Voici un exemple de procédure stockée :
USE [test] GO CREATE PROCEDURE [dbo].[mysp_selectstuff] AS -- SET NOCOUNT ON ajouté pour empêcher des ensembles de résultats supplémentaires d'interférer avec les instructions SELECT. -- SET NOCOUNT ON GO
-- Insérez les instructions pour la procédure ici SELECT * de dbo.Movies GO GO EXEC [dbo].[mysp_selectstuff] GO GO DROP PROCEDURE [dbo].[mysp_selectstuff] GO GO
Structure d'une procédure stockée
Il est courant de capitaliser les instructions SQL pour les différencier des composants de la base de données sur lesquels les instructions fonctionnent. Les commentaires commencent par la chaîne \"--\". Ceux-ci n'ont aucun effet sur la requête. Dans cet exemple, la base de données interrogée s'appelle \"test,\" et la table à l'intérieur de cette base de données est Movies. Le préfixe \"dbo\" est ajouté à Movies pour le séparer des autres tables qui pourraient avoir le même nom. La requête complète sélectionne simplement tous les champs pour tous les enregistrements de la table Movies.
Exécution de procédures stockées
Les instructions GO sont comme les instructions RUN des programmes BASIC : elles indiquent à l'interpréteur SQL d'exécuter les instructions qui les précèdent. L'instruction EXEC exécute la requête et DROP PROCEDURE libère la requête après son exécution, ce qui est nécessaire avant de réexécuter la requête. La requête saisie est réellement exécutée par SQL Server lorsque F5 ou le bouton Exécuter de la barre d'outils est enfoncé.