Partager via


Créer des requêtes d’insertion de résultats (Visual Database Tools)

s’applique à : SQL Server

Vous pouvez copier des lignes d’une table vers une autre ou dans une table à l’aide d’une requête Insérer des résultats. Par exemple, dans une table titles, vous pouvez utiliser une requête Insérer des résultats pour copier des informations sur tous les titres d’un éditeur vers une deuxième table que vous pouvez mettre à la disposition de cet éditeur. Une requête Insert Results est similaire à Make Table Query, mais copie les lignes dans une table existante.

Pourboire

Vous pouvez également copier des lignes d’une table vers une autre à l’aide de couper et coller. Créez une requête pour chaque table et exécutez les requêtes. Copiez les lignes souhaitées d’une grille de résultats vers l’autre.

Lorsque vous créez une requête Insérer des résultats, vous spécifiez :

  • Table de base de données vers laquelle copier des lignes (la table de destination).

  • Table ou tables à partir de laquelle copier des lignes (la table source). La table source ou les tables font partie d’une sous-requête. Si vous copiez dans une table, la table source est identique à la table de destination.

  • Colonnes de la table source dont vous souhaitez copier le contenu.

  • Colonnes cibles de la table de destination vers lesquelles copier les données.

  • Conditions de recherche pour définir les lignes que vous souhaitez copier.

  • Ordre de tri, si vous souhaitez copier les lignes dans un ordre particulier.

  • Options de regroupement par, si vous souhaitez copier uniquement des informations de résumé.

Par exemple, la requête suivante copie les informations de titre de la table titles vers une table d’archive appelée archivetitles. La requête copie le contenu de quatre colonnes pour tous les titres appartenant à un éditeur particulier :

INSERT INTO archivetitles   
   (title_id, title, type, pub_id)  
SELECT title_id, title, type, pub_id  
FROM titles  
WHERE (pub_id = '0766')  

Note

Pour insérer des valeurs dans une nouvelle ligne, utilisez une requête Insérer des valeurs.

Vous pouvez copier le contenu des colonnes sélectionnées ou de toutes les colonnes d’une ligne. Dans les deux cas, les données que vous copiez doivent être compatibles avec les colonnes des lignes vers lesquelles vous copiez. Par exemple, si vous copiez le contenu d’une colonne telle que price, la colonne de la ligne que vous copiez doit accepter des données numériques avec des décimales. Si vous copiez une ligne entière, la table de destination doit avoir des colonnes compatibles dans la même position physique que la table source.

Lorsque vous créez une requête Insérer des résultats, le volet Critères change pour refléter les options disponibles pour copier des données. Une colonne Append est ajoutée pour vous permettre de spécifier les colonnes dans lesquelles les données doivent être copiées.

Prudence

Vous ne pouvez pas annuler l’action d’exécution d’une requête Insérer des résultats. Par précaution, sauvegardez vos données avant d’exécuter la requête.

Pour créer une requête d'insertion des résultats

  1. Créez une requête et ajoutez la table à partir de laquelle vous souhaitez copier des lignes (la table source). Si vous copiez des lignes dans une table, vous pouvez ajouter la table source en tant que table de destination.

  2. Dans le menu du Concepteur de requêtes, pointez sur Modifier le type, puis cliquez sur Insérer des résultats.

  3. Dans la boîte de dialogue Choisir une table cible pour insérer des résultats, sélectionnez la table dans laquelle copier des lignes (la table de destination).

    Note

    Le Concepteur de requêtes et de vues ne peut pas déterminer à l’avance les tables et vues que vous pouvez mettre à jour. Par conséquent, la liste Nom de la table dans la boîte de dialogue Choisir une table pour l’insertion à partir d’une requête affiche toutes les tables et vues disponibles dans la connexion de données que vous interrogez, même celles auxquelles vous ne pouvez peut-être pas copier de lignes.

  4. Dans le rectangle représentant la table ou l'objet de type table, choisissez les noms des colonnes dont vous souhaitez copier le contenu. Pour copier des lignes entières, choisissez * (Toutes les colonnes).

    Le Concepteur de requêtes et de vues ajoute les colonnes que vous choisissez à la colonne colonne du volet Critères.

  5. Dans la Ajouter colonne du volet Critères, sélectionnez une colonne cible dans la table de destination pour chaque colonne que vous copiez. Choisissez nom_table.* si vous copiez des lignes entières. Les colonnes de la table de destination doivent avoir les mêmes types de données (ou compatibles) que les colonnes de la table source.

  6. Si vous souhaitez copier des lignes dans un ordre particulier, spécifiez un ordre de tri. Pour plus d’informations, consultez résultats des requêtes de tri et de groupe (Visual Database Tools).

  7. Spécifiez les lignes à copier en entrant des conditions de recherche dans la colonne Filtrer. Pour plus d’informations, consultez Spécifier des critères de recherche (Visual Database Tools).

    Si vous ne spécifiez pas de condition de recherche, toutes les lignes de la table source sont copiées dans la table de destination.

    Note

    Lorsque vous ajoutez une colonne à rechercher dans le volet Critères, le Concepteur de requêtes et de vues l’ajoute également à la liste des colonnes à copier. Si vous souhaitez utiliser une colonne pour la recherche, mais pas la copier, désactivez la case à cocher à côté du nom de colonne dans le rectangle représentant la table ou l’objet de type table.

  8. Si vous souhaitez copier des informations récapitulatives, spécifiez les options de regroupement. Pour plus d’informations, consultez Résumer les résultats des requêtes (Visual Database Tools).

Lorsque vous exécutez une requête Insérer des résultats, aucun résultat n’est signalé dans le volet résultats . Au lieu de cela, un message s’affiche indiquant le nombre de lignes copiées.

Voir aussi

Types de requêtes (Visual Database Tools)
Concevoir des requêtes et des vues de sujets tutoriels (Visual Database Tools)