Maison > base de données > tutoriel mysql > Comment puis-je récupérer des valeurs d'identité après des insertions groupées dans SQL Server 2005 ?

Comment puis-je récupérer des valeurs d'identité après des insertions groupées dans SQL Server 2005 ?

Linda Hamilton
Libérer: 2024-12-29 14:05:11
original
842 Les gens l'ont consulté

How Can I Retrieve Identity Values After Bulk Inserts in SQL Server 2005?

Obtention de valeurs d'identité lors d'insertions groupées dans SQL Server 2005

Lors de l'insertion de plusieurs enregistrements d'une table à une autre, il peut être utile d'obtenir les valeurs d'identité attribuées aux enregistrements nouvellement insérés. Cela permet des mises à jour efficaces de la table source avec des clés étrangères référençant la table cible.

Insertion d'enregistrements et récupération des valeurs d'identité

Dans ce cas, nous souhaitons insérer des enregistrements de la table B dans la table A et récupérer les valeurs d'identité des enregistrements nouvellement insérés pour mettre à jour le champ "NewId" dans la table B.

Utilisation de la clause OUTPUT

MS SQL Server 2005 fournit la clause OUTPUT qui permet aux utilisateurs de capturer les valeurs insérées lors d'une opération de modification de données. Dans ce cas, nous pouvons l'utiliser comme suit :

DECLARE @output TABLE (id int)

Insert into A (fname, lname)
OUTPUT inserted.ID INTO @output
SELECT fname, lname FROM B

select * from @output
Copier après la connexion

En utilisant la clause OUTPUT, nous créons une variable de table @output pour stocker les valeurs d'identité. Le insert.ID fait référence à la valeur d'identité de l'enregistrement nouvellement inséré dans la table A.

Après avoir exécuté l'instruction d'insertion, la table @output contiendra les valeurs d'identité correspondant aux lignes insérées à partir de la table B. Vous pouvez utilisez ensuite ces valeurs pour mettre à jour le champ NewId dans le tableau B sans avoir besoin de curseurs.

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