Exemple complet de scripts pour insérer des données depuis une procédure stockée SQL Server.
Exemple de procédure stockée pour insérer des données dans une table SQL Server. Et aussi comment afficher ou masquer le nombre de lignes insérées par la procédure. Cet exemple de procédure T-SQL insère des lignes dans une table de clients.
Table of Contents
1. Insérer des lignes depuis une procédure stockée SQL Server
Voici un tutoriel en 3 étapes pour apprendre é insérer des lignes depuis une procédure stockée avec des variables.
1.1 Créer la table des ventes
Tout d’abord, vérifier au préalable que la table d’exemple n’existe pas. Si la table existe, alors la supprimer avec la commande DROP TABLE. Ensuite créer la table des clients pour insérer les lignes de l’exemple.
IF EXISTS ( SELECT 1 FROM sys.objects WHERE object_id = object_id(N'[dbo].[CLIENTS]') AND type in (N'U') ) DROP TABLE [dbo].[CLIENTS]; CREATE TABLE [dbo].[CLIENTS] ( [NOCLIENT] int IDENTITY(1,1), [NOM] nvarchar(20), [VILLE] nvarchar(20) ); GO
1.2 Exemple de procédure stockée SQL pour insérer des données
Commencer par vérifier si la procédure stockée existe déjà dans la base et la supprimer si nécessaire. Dans un deuxième temps créer la procédure stockée uspInsertClient pour insérer dans la table des clients deux champs passés en paramètres, le nom et la ville.
IF EXISTS( SELECT 1 FROM sys.objects WHERE object_id = object_id(N'uspInsertClient') AND type in (N'P') ) DROP PROCEDURE uspInsertClient; GO CREATE PROCEDURE uspInsertClient @Nom nvarchar(20), @Ville nvarchar(20) AS BEGIN INSERT INTO dbo.CLIENTS (NOM, VILLE) VALUES (@Nom, @Ville); END GO
Exécuter la procédure trois fois pour insérer des nouveaux clients dans la table.
-- Insérer trois nouveaux clients SET NOCOUNT OFF; EXECUTE uspInsertClient @Nom = 'MAMMADOU', @Ville = 'Toulouse'; EXECUTE uspInsertClient @Nom = 'KARIM', @Ville = 'Nantes'; EXECUTE uspInsertClient @Nom = 'ISAAC', @Ville = 'Versailles';
Cet exemple de requête insert dans la procédure stockée SQL Server permet d’insérer des lignes dans une table. Le code vérifie au préalable l’existence de la procédure pour éviter les erreurs à la création. Le code permet d’appeler facilement la procédure créée avec les paramètres. Et donc de standardiser l’insertion des données dans cette table.
2. Masquer l’affichage du nombre de lignes insérées
A chaque insertion de données avec du code T-SQL, par défaut, le système affiche le nombre de lignes insérées. La commande SET NOCOUNT ON indique à SQL Server de ne pas afficher le nombre de lignes affectées. Dans notre cas, insérées par la requête SQL INSERT. Ainsi, si l’option est activée, le nombre de ligne n’est pas remonté, comme dans l’exemple ci-dessous.
Cette option d’affichage permet de ne pas polluer les fichiers ou les tables de logs pendant l’exécution de procédures stockées complexes.
-- Insérer trois clients avec l'option activée SET NOCOUNT ON; EXECUTE uspInsertClient @Nom = 'MAMMADOU', @Ville = 'Toulouse'; EXECUTE uspInsertClient @Nom = 'KARIM', @Ville = 'Nantes'; EXECUTE uspInsertClient @Nom = 'ISAAC', @Ville = 'Versailles';
Enfin, contrôler le résultat de la requête et lire les données avec une requête SELECT sur la table des clients. Noter que les trois clients sont présents deux fois chacun dans la table. Ce qui correspond aux six exécutions de la commande SQL. Soit trois fois avec l’option d’affichage du nombre de ligne activée et trois fois avec l’option d’affichage désactivée.
SELECT * FROM dbo.CLIENTS;
Ce tutoriel sur le développement T-SQL explique comment insérer des données depuis une procédure stockée SQL Server. Voici enfin un tutoriel pour créer une procédure stockée SQL qui retourne des valeurs avec l’option OUTPUT.
Soyez le premier à commenter