SQL Server INSERT INTO avec des variables

Une requête SQL Server Insert Into avec des variables permet d’insérer des données de manière dynamique.

Comment construire une requête SQL Server INSERT INTO avec des variables pour rendre le code dynamique ? Ce tutoriel est similaire au premier de la série pour insérer des données avec SQL Server depuis une requête de sélection. Pour ce faire, modifier légèrement le code pour créer la table et utiliser des variables dans la requête au lieu de coder en dur les valeurs à insérer.

1. Requête SQL INSERT INTO avec des variables T-SQL

Ce tutoriel expose comment utiliser des variables dans une requête pour insérer des données dans une table SQL Server, réutiliser le code de cet exemple d’Insert Into depuis une requête SELECT, et y ajouter les variables T-SQL.

2. Créer la table SQL pour insérer les données

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)
);

3. Requête INSERT INTO pour insérer des données avec des variables

En effet, dans un bloc de code T-SQL, suivre ces deux étapes simples.

  • 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 au début du code.
-- 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 );

4. Avantages des variables dans le développement T-SQL

L’utilisation des variables 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 des procédures stockées SQL Server.

Cet article explique donc comment construire et exécuter un script SQL Server dynamique avec une commande INSERT INTO et des variables. Et ainsi insérer des données dans une table via des variables instanciées en début de script, ou qui évoluent pendant le déroulement du script. Enfin, pour aller plus loin, voici un tutoriel pour mettre à jour la même colonne d’une autre ligne dans une table SQL Server.

Mettre à jour la même colonne sur une autre ligne avec SQL Server

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *