Comment modifier le code d’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.
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.
Table des matières
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
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:
- NoClient qui est le numéro du client
- 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
Conclusion
La modification d’une procédure stockée du serveur SQL à l’aide de la commande ALTER PROCEDURE est une tâche simple qui peut améliorer de manière significative la fonctionnalité et l’efficacité des opérations de votre base de données. Comme expliqué et illustré par le code, nous pouvons étendre les capacités d’une procédure stockée non seulement pour effectuer des opérations plus complexes de récupération et de tri des données.
La mise en œuvre de ces meilleures pratiques dans le développement de bases de données peut contribuer à la création d’applications de bases de données robustes, fiables et évolutives. Maintenant, pour aller plus loin dans l’apprentissage de T-SQL, voici un court tutoriel sur la création d’une fonction SQL Server.
Soyez le premier à commenter