Modifier une procédure stockée SQL Server

Comment modifier une procédure stockée SQL Server avec un script T-SQL ?

Utiliser la commande SQL Server ALTER PROCEDURE pour modifier le code à exécuter par la procédure stockée. La modification consiste à ajouter la possibilité de filtrer et d’afficher tous les clients dont la ville ressemble au paramètre @Ville. La procédure stockée tri maintenant les données par numéro de client descendant, c’est à dire du dernier numéro de client au premier.

Modifier le code T-SQL d’une procédure stockée SQL Server

Ce tutoriel permet de modifier une procédure stockée SQL Server existante dans la base. La commande utile est ALTER PROCEDURE. La définition d’une procédure stockée est une suite d’opérations définies au préalable et exécutées pour accomplir un ensemble de tâche. La procédure est enregistrée pour être répétée de manière industrialisée.

1. Créer au préalable la table et la procédure à modifier

Exécuter au préalable le script pour créer la procédure T-SQL à modifier. La procédure de base permet simplement d’afficher les données contenues dans la table des clients, sans filtre.

CREATE PROCEDURE uspListeClients
AS
   SELECT *
   FROM   dbo.CLIENTS
GO

La table utilisée en source est la table des clients créée dans une base SQL Server:

-- Créer la table CLIENTS avec la colonne NOM déclarée comme UNIQUE
CREATE TABLE [dbo].[CLIENTS] (
   [NOCLIENT]  int IDENTITY(1,1),
   [NOM]       nvarchar(20) UNIQUE,
   [VILLE]     nvarchar(20)
)
GO

2. Exemple de code pour mettre à jour une procédure MS SQL

Voici un exemple de script pour modifier une procédure stockée en T-SQL. Pour l’adapter et l’exécuter, se connecter à la base de données avec SSMS et exécuter le code. La procédure modifiée utilise deux paramètres en entrée:

  1. NoClient qui est le numéro du client
  2. Ville qui est le nom de la ville du client

Les paramètres sont facultatifs et sont renseignés à l’appel de la fonction. La procédure filtre alors le contenu de la table avec les valeurs des paramètres. Le filtre sur le numéro de client est strict car un numéro de client est unique et car c’est un entier.

Le filtre sur le nom de la ville est large car il retourne tous les clients associés à la ville renseignée, c’est à dire avec une ville contenant texte saisi à l’appel de la procédure modifiée.

ALTER PROCEDURE uspGetClient
   @NoClient int = NULL,
   @Ville nvarchar(20) = NULL
AS
   SELECT *
   FROM   [dbo].[CLIENTS]
   WHERE  [NOCLIENT] = @NoClient
      OR  [VILLE] LIKE '%@Ville%'
   ORDER BY 1 DESC
GO

Tutoriels pour gérer les procédures stockées SQL Server

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*