INSERT INTO, instruction

Ajoute un ou plusieurs enregistrements à une table. Il s’agit de ce qu’on appelle une requête Ajout.

Syntaxe

Requête Ajout sur plusieurs enregistrements :

INSERT INTO target [(field1[, field2[, ...]])] [IN externaldatabase]
SELECT [source.]field1[, field2[, ...]
FROM tableexpression

Requête Ajout sur un seul enregistrement :

INSERT INTO target [(field1[, field2[, ...]])]
VALUES (value1[, value2[, ...])

L’instruction INSERT INTO comprend les parties suivantes :

Partie

Description

target

Nom de la table ou de la requête auxquelles ajouter des enregistrements.

field1, field2

Noms des champs auxquels ajouter des données s’ils suivent un argument target, ou dont extraire des données s’ils suivent un argument source.

externaldatabase

Chemin d’accès d’une base de données externe. Pour une description du chemin d’accès, voir la clause IN.

source

Nom de la table ou de la requête à partir desquelles copier des enregistrements.

tableexpression

Nom de la ou des tables à partir desquelles des enregistrements sont insérés. Cet argument peut être un simple nom de table ou un composé résultant d’une jointure interne (INNER JOIN), d’une jointure gauche (LEFT JOIN) ou d’une jointure droite (RIGHT JOIN), ou encore d’une requête enregistrée.

value1, value2

Valeurs à insérer dans les champs spécifiques du nouvel enregistrement. Chaque valeur est insérée dans le champ correspondant à sa position dans la liste : la valeur value1 est insérée dans le champ field1 du nouvel enregistrement, la valeur value2 dans le champ field2, et ainsi de suite. Vous devez séparer les valeurs par une virgule et placer les champs de texte entre apostrophes (' ').


Remarques

Vous pouvez utiliser l’instruction INSERT INTO pour ajouter un enregistrement unique à une table en utilisant la syntaxe de requête Ajout d’enregistrement unique, comme illustré ci-dessus. Dans ce cas, votre code spécifie le nom et la valeur de chaque champ de l’enregistrement. Vous devez spécifier chaque champ de l’enregistrement auquel une valeur doit être attribuée, ainsi qu’une valeur pour ce champ. Si vous ne spécifiez pas chaque champ, la valeur par défaut ou la valeur Null est insérée pour les colonnes manquantes. Les enregistrements sont ajoutés à la fin de la table.

Vous pouvez également utiliser l’instruction INSERT INTO pour ajouter un jeu d’enregistrements d’une autre table ou requête à l’aide de la clause SELECT... FROM, comme illustré ci-dessus dans la syntaxe de la requête Ajout de plusieurs enregistrements. Dans ce cas, la clause SELECT spécifie les champs à ajouter à la table target indiquée.

Les tables source ou target peuvent spécifier une table ou une requête. Si une requête est spécifiée, le moteur de base de données Access ajoute les enregistrements à toutes les tables spécifiées par la requête.

L’instruction INSERT INTO est facultative mais, quand elle est incluse, elle précède l’instruction SELECT.

Si votre table de destination contient une clé primaire, veillez à ajouter des valeurs uniques non Null au(x) champ(s) de clé primaire. À défaut, le moteur de base de données Access n’ajoute pas les enregistrements.

Si vous ajoutez des enregistrements à une table contenant un champ NuméroAuto et souhaitez renuméroter les enregistrements ajoutés, n’incluez pas le champ NuméroAuto dans votre requête. Par contre, incluez le champ NuméroAuto dans la requête si vous voulez conserver les valeurs d’origine du champ.

Utilisez la clause IN pour ajouter des enregistrements à une table dans une autre base de données.

Pour créer une table, utilisez plutôt l’instruction SELECT... INTO afin de créer une requête Création de table.

Pour déterminer les enregistrements qui seront ajoutés avant d’exécuter la requête Ajout, commencez par exécuter et afficher les résultats d’une requête Sélection utilisant les mêmes critères de sélection.

Une requête Ajout copie les enregistrements d’une ou plusieurs tables vers une autre. Les tables contenant les enregistrements que vous ajoutez ne sont pas affectées par la requête Ajout.

Au lieu d’ajouter des enregistrements existants d’une autre table, vous pouvez spécifier la valeur de chaque champ dans un nouvel enregistrement unique à l’aide de la clause VALUES. Si vous omettez la liste des champs, la clause VALUES doit inclure une valeur pour chaque champ de la table. Autrement, l’opération INSERT échoue. Utilisez une instruction INSERT INTO supplémentaire avec une clause VALUES pour chaque enregistrement supplémentaire que vous voulez créer.



Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×