Maison > base de données > tutoriel mysql > Comment puis-je insérer efficacement des données de plusieurs tables dans une table temporaire ou une variable de table dans SQL Server ?

Comment puis-je insérer efficacement des données de plusieurs tables dans une table temporaire ou une variable de table dans SQL Server ?

Barbara Streisand
Libérer: 2024-12-29 12:32:10
original
618 Les gens l'ont consulté

How Can I Efficiently Insert Data from Multiple Tables into a Temporary Table or Table Variable in SQL Server?

Insertion dans une table temporaire ou une variable de table à l'aide de MERGE

Dans SQL Server, la clause OUTPUT ne peut pas récupérer les données de plusieurs tables, ce qui rend difficile la capturer des valeurs spécifiques lors des opérations d’insertion. Cependant, l'instruction MERGE fournit une solution à ce problème.

Pour insérer des données dans une table temporaire ou une variable de table à l'aide de MERGE :

  1. Remplissez la table temporaire ou la variable de table avec l'instruction MERGE . Cela vous permet de récupérer les valeurs à la fois des lignes insérées et des données sources.
  2. Utilisez la clause OUTPUT dans l'instruction MERGE pour spécifier les colonnes à afficher.

Voici un exemple :

MERGE INTO Table3 USING
(
    SELECT null as col2, 
           110 as col3, 
           Table1.ID as col4, 
           Table2.Column2 as col5,
           Table2.Id as col6
    FROM Table1
    JOIN Table1Table2Link on Table1.ID=Table1Table2Link.Column1
    JOIN Table2 on Table1Table2Link.Column2=Table2.ID
) AS s ON 1 = 0 -- Always not matched
WHEN NOT MATCHED THEN
INSERT (Column2, Column3, Column4, Column5)
VALUES (s.col2, s.col3, s.col4, s.col5)
OUTPUT Inserted.ID, s.col6
INTO @MyTableVar (insertedId, Table2Id); 
Copier après la connexion

Dans cet exemple, l'instruction MERGE remplit la table temporaire @MyTableVar avec Inserted.ID et Valeurs Table2.ID. La clause OUTPUT spécifie que ces deux colonnes doivent être affichées dans la table temporaire.

Cette méthode vous permet de capturer et de travailler efficacement avec les données de différentes tables lors des opérations d'insertion en utilisant la puissance des instructions MERGE dans SQL Server.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal