Exemple de requête INSERT INTO avec des variables SQL Server




Comment faire un requête INSERT INTO avec des variables dans SQL Server ? Nous allons reprendre le premier tutoriel et allons le modifier légèrement afin d’utiliser des variables dans la requête INSERT INTO plutôt que de coder en dur les valeurs.

 

Dans ce tutoriel, nous utilisons le code de cet exemple de requête INSERT INTO, mais en y ajoutant l’utilisation de variables T-SQL.

 

Comment écrire une requête INSERT INTO en utilisant des variables T-SQL ?

 

1. Création de la table CLIENTS avec la colonne NOM déclarée comme unique pour ne pas insérer deux fois le même nom de client. Le numéro de client NOCLIENT est auto-incrémenté pour avoir une liste suivie de 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. Dans 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. Procéder à l’insertion des données avec une requête INSERT INTO simple 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 surtout utile si vous réutilisez plusieurs fois la valeur de la variable.