Exemples de Procédures Stockées SQL Server

Ces exemples de procédures stockées SQL Server simples sont des outils puissants qui peuvent simplifier votre travail de développement de base de données. Par exemple, lorsqu’il s’agit de logique métier complexe intégrée dans le code SQL. Une procédure stockée est un groupe d’instructions Transact-SQL compilées dans un seul plan d’exécution.

1. Structure d’une procédure stockée de base SQL Server

Commençons par la structure de base d’une procédure stockée MS SQL. L’instruction CREATE PROCEDURE est utilisée pour créer une procédure stockée. Elle est suivie du nom de la procédure et, éventuellement, des paramètres que vous souhaitez passer à la procédure. Voici un exemple simple pour créer une procédure générique appelée MaProcedure.

Dans l’exemple, la procédure stockée nommée MaProcedure sélectionne simplement tous les enregistrements de la table SQL MaTable. Les mots-clés BEGIN et END encadrent les instructions SQL.

CREATE PROCEDURE MaProcedure
AS

BEGIN
  SELECT * FROM MaTable
END

GO

2. Travailler avec des paramètres dans les procédures stockées

Les paramètres peuvent être utilisés pour transmettre des valeurs à la procédure stockée. Modifions maintenant MaProcedure pour qu’elle accepte un paramètre unique. Comme vous pouvez le voir, le paramètre @MonParam est de type INT. Il est utilisé dans la clause WHERE pour filtrer les enregistrements de MaTable.

CREATE PROCEDURE MaProcedure
   @MonParam INT
AS
BEGIN
   SELECT *
   FROM   MaTable
   WHERE  MaColonne = @MonParam
END
GO

3. Gestion des erreurs dans les procédures stockées SQL

La gestion des erreurs est un aspect vital de l’écriture de code T-SQL robuste. Heureusement, SQL Server fournit des constructions TRY CATCH à cet effet. Ici, le bloc TRY contient le code SQL qui pourrait provoquer une exception.

Techniquement, cela signifie que si une erreur se produit, le contrôle est transféré au bloc CATCH où l’erreur peut être traitée.

CREATE PROCEDURE MaProcedure
   @MonParam INT
AS

BEGIN TRY
  SELECT *
  FROM   MaTable
  WHERE  MaColonne = @MonParam
END TRY

BEGIN CATCH
  SELECT ERROR_MESSAGE() AS MessageErreur;
END CATCH

GO

4. Utiliser une logique conditionnelle dans une procédure SQL

Les exemples de procédures stockées SQL Server utilisent souvent des instructions IF ELSE pour la logique conditionnelle. Cela peut grandement augmenter l’efficacité et la maintenabilité.

En effet, l’instruction IF-ELSE vérifie si @MonParam est NULL. S’il ne l’est pas, une instruction SELECT filtrée est exécutée. S’il est NULL, tous les enregistrements sont renvoyés. Sinon, les résultats ne renverraient rien, une autre option consiste à définir une valeur par défaut pour le paramètre.

CREATE PROCEDURE MaProcedure @MonParam INT
AS
BEGIN
   IF @MonParam IS NOT NULL
      BEGIN
        SELECT *
	   FROM   MaTable 
	   WHERE  MaColonne = @MonParam
      END
   ELSE
      BEGIN
        SELECT *
	   FROM   MaTable
      END
END
GO

5. Procédure T-SQL avec une boucle

Les constructions de boucle, comme les boucles WHILE, peuvent être utilisées dans les procédures stockées SQL pour itérer sur un ensemble d’enregistrements. Cette documentation Microsoft fournit plus de détails à ce sujet.

Ainsi, dans cet dernier exemple, une procédure stockée nommée ImprimerIterations est créée. Lorsque cette procédure est exécutée, elle affiche un message pour chaque itération, 10 fois au total.

L’instruction GO est un séparateur de lot qui signifie la fin de la création de la procédure stockée et le début de toutes les commandes SQL ultérieures. La commande EXEC ImprimerIterations est un simple appel à la procédure stockée pour exécuter sa logique.

CREATE PROCEDURE ImprimerIterations
AS
BEGIN
    DECLARE @Compteur INT = 1

    WHILE @Compteur <= 10
    BEGIN
        PRINT 'Il s'agit de l'itération de la boucle ' + CAST(@Compteur AS NVARCHAR(2))
        SET @Compteur = @Compteur + 1
    END
END
GO

-- Pour exécuter la procédure stockée
EXEC ImprimerIterations
Exemples de procédures stockées SQL Server utilisant une boucle WHILE
Exemples de procédures stockées SQL Server utilisant une boucle WHILE

Conclusion sur l’utilisation des procédures stockées SQL Server

Les procédures stockées SQL utiles peuvent grandement améliorer l’efficacité, la lisibilité et la maintenance de votre code SQL server. Elles permettent d’encapsuler la logique métier complexe dans des programmes réutilisables et modulaires. De la gestion des erreurs à l’utilisation de la logique conditionnelle, en passant par les constructions de boucle, les procédures stockées de base dans SQL Server offrent une large gamme de possibilités.

Pensez à les utiliser dans votre prochain projet SQL Server pour un code plus propre et plus efficace. IL est par exemple possible de générer du code T-SQL dynamique avec des variables pour répéter certaines opérations.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*