Comment créer une procédure stockée SQL Server ?

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.

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
Créer une procédure stockée SQL Server pour sélectionner une table
Créer une procédure stockée SQL Server pour sélectionner une table

4. Remarques sur les procédures MS SQL

  1. 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.
  2. 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.

Qu’est-ce qu’une procédure stockée SQL Server ?

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.

Gérer les fonctions SQL Server avec des scripts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *