Insert into SQL Server avec des variables

Exemple de requête Insert Into avec des variables SQL Server pour copier-coller et adapter à votre environnement SQL. Comment faire une requête pour insérer des données avec des variables dans SQL Server ?

Cet article est basé sur le premier article de la série sur l’insertion de données SQL Server. Pour ce faire, modifier légèrement le code et utiliser des variables dans la requête au lieu de coder en dur toutes les valeurs à insérer.

Exemple de requête Insert Into SQL Server avec des variables T-SQL

Dans ce tutoriel, réutiliser le code de cet exemple d’Insert Into depuis une requête SELECT, et y ajouter les variables T-SQL.

1. Créer la table des clients

Premièrement, créer la table des Clients avec la colonne NOM déclarée comme unique pour ne pas insérer deux fois le même client. Le numéro de client NOCLIENT est auto-incrémenté pour avoir une liste suivie de numéros de clients.

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) UNIQUE,
	[VILLE] nvarchar(20)
);

2. Construire la requête avec les variables

Deuxièmement, dans un bloc de code T-SQL, déclarer une variable pour chaque colonne. Chacun des types de données déclaré dans les variables correspond aux types de données des colonnes.

Ensuite, insérer les données avec une requête INSERT INTO qui utilise les deux variables déclarées plus haut.

-- Déclaration des variables
DECLARE @NOM NVARCHAR(20);
DECLARE @VILLE NVARCHAR(20);

-- Première insertion
SET @NOM = 'MAMMADOU';
SET @VILLE = 'Lyon';
INSERT INTO dbo.CLIENTS ( NOM, VILLE ) VALUES ( @NOM, @VILLE );

-- Seconde insertion
SET @NOM = 'CHRISTOPHE';
SET @VILLE = 'Paris';
INSERT INTO dbo.CLIENTS ( NOM, VILLE ) VALUES ( @NOM, @VILLE );

Noter que l’utilisation de variables en T-SQL est utile pour réutiliser plusieurs fois la valeur de la variable. C’est à dire éviter de copier-coller les mêmes valeurs dans un script et donc factoriser un maximum les objets.

Rendre le code T-SQL dynamique est une bonne pratique fortement recommandée, c’est notamment le but principal des fonctions et procédures stockées SQL Server.

Cet article explique donc comment générer une requête pour exécuter un Insert Into SQL Server avec des variables. Et insérer des données dans une table via des variables instanciées au préalables.

Enfin, pour aller plus loin, voici un article qui propose du code pour mettre à jour la même colonne d’une autre ligne dans une table SQL Server.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*