Comment créer et exécuter une procédure stockée SQL Server avec un script T-SQL ?
Une procédure SQL n’est rien de plus que du code T-SQL stocké de manière à être réutilisé facilement. Dans ce court tutoriel SQL Server en Français voici comment créer une procédure stockée simple en langage Transact-SQL ? Avant de créer une procédure stockée, il faut savoir quel sera le résultat final.
Autrement dit, la finalité est-elle d’afficher des données, d’insérer des données par exemple. Ou encore mettre à jour des données existantes ? Il est aussi possible de supprimer des données. C’est à dire toutes les commandes de type Data Manipulation Language (DML). Et bien sûr de combiner plusieurs opérations. Comme appeler une ou plusieurs autres procédures.
D’autre part, toutes les commande de manipulation d’objets SQL sont aussi possibles. C’est à dire toutes les commandes dites Data Definition Language en Anglais (DDL). Le but de cet exemple est de sélectionner toutes les données de la table des clients stockées dans la base de données.
Table of Contents
1. Sélectionner des données depuis une procédure SQL
La table se trouve dans le schéma par défaut dbo, pour Database Owner. Ainsi, le code T-SQL suivant renvoie toutes les lignes de cette table.
SELECT * FROM dbo.CLIENTS;
Le code de création de la table des clients est disponible dans cet article sur la création et la gestion des tables SQL Server.
-- Créer la table des clients CREATE TABLE [dbo].[CLIENTS] ( [CLIENTID] int IDENTITY(1,1), [NAME] nvarchar(20) UNIQUE, [CITY] nvarchar(20) ) GO -- Insérer des données INSERT INTO dbo.CLIENTS (NAME, CITY) VALUES ('MAMMADOU', 'Lyon'); INSERT INTO dbo.CLIENTS (NAME, CITY) VALUES ('SERGEI', 'Lyon'); INSERT INTO dbo.CLIENTS (NAME, CITY) VALUES ('CHRISTOPHE', 'Paris'); -- Vérifier les lignes insérées SELECT * FROM dbo.CLIENTS;
2. Créer une procédure stockée SQL Server basique
Le code de création de la table des CLIENTS est disponible dans ce tutoriel pour créer une table SQL Server. Pour créer une procédure stockée simple, utiliser par exemple ce code. Pour créer la procédure stockée, utiliser la commande CREATE PROCEDURE ou CREATE PROC. Après le nom de la procédure stockée, utiliser le mot clé AS. Le reste est tout simplement du code T-SQL standard à exécuter.
CREATE PROCEDURE uspListeClients AS SELECT * FROM dbo.CLIENTS GO
3. Exécuter une procédure stockée en T-SQL
Pour exécuter la procédure stockée et afficher le contenu de la table Clients spécifiée dans la requête, il suffit d’exécuter le code suivant. Il existe plusieurs façons d’exécuter une procédure stockée depuis SSMS:
EXECUTE dbo.uspListeClients; GO -- Ou encore EXEC dbo.uspListeClients; GO -- Ou simplement uspListeClients; GO
4. Remarques sur les procédures MS SQL
- Premièrement, ne pas utiliser le mot-clé GO à l’intérieur de la procédure stockée. En effet, une fois que le compilateur SQL Server rencontre « GO » il suppose que c’est la fin de la procédure stockée.
- Enfin, ne pas changer de base de données à l’intérieur de la procédure stockée. Soit l’utilisation de la commande USE UneAutreBase par exemple ne fonctionne pas.
Les procédures stockées sont largement utilisées en T-SQL
Dans ce tutoriel, nous avons appris à créer une procédure stockée SQL Server de base à l’aide de l’instruction CREATE, qui permet de stocker du code T-SQL afin de pouvoir le réutiliser facilement. Nous avons abordé le processus de définition du résultat final, l’incorporation des commandes DML (Data Manipulation Language) et l’exécution de la procédure stockée à l’aide du code d’exemple.
Nous avons également souligné quelques aspects essentiels à prendre en compte, tels que la non-utilisation du mot-clé GO à l’intérieur de la procédure stockée et le fait d’éviter les modifications de la base de données dans le code de la procédure.
Une procédure stockée SQL Server est un script écrit en langage Transact-SQL (T-SQL) et exécuté dans une base de données. Une procédure regroupe une ou plusieurs instructions SQL. Elle peut gérer des paramètres d’entrée et des paramètres de sortie. Les étapes sont répétées chaque fois qu’une procédure stockée est appelée.
Soyez le premier à commenter