Maison > base de données > tutoriel mysql > Comment obtenir efficacement les valeurs d'identité après l'insertion de plusieurs enregistrements dans SQL Server ?

Comment obtenir efficacement les valeurs d'identité après l'insertion de plusieurs enregistrements dans SQL Server ?

Patricia Arquette
Libérer: 2024-12-27 13:30:18
original
993 Les gens l'ont consulté

How to Efficiently Get Identity Values After Inserting Multiple Records in SQL Server?

Insérer plusieurs enregistrements et obtenir une valeur d'identité sans curseur

Insérer plusieurs enregistrements dans une table parent (A) à partir d'une table enfant (B) est une tâche courante dans la gestion des données. Il est souvent nécessaire de mettre à jour les enregistrements de la table enfant avec les valeurs d'identité générées pour les enregistrements nouvellement insérés dans la table parent.

Microsoft SQL Server 2005 fournit une solution à cette exigence via la clause OUTPUT. La clause OUTPUT capture les valeurs d'identité des enregistrements nouvellement insérés et les stocke dans une variable de table (@output). Cela permet une récupération efficace des valeurs d'identité sans la surcharge liée à l'utilisation d'un curseur.

Voici un exemple d'extrait de code démontrant l'utilisation de la clause OUTPUT :

DECLARE @output TABLE (id int)

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

-- Retrieve the identity values from @output
select * from @output
Copier après la connexion

En exécutant ce qui précède code, les valeurs d'identité des enregistrements insérés seront stockées dans la variable de table @output. Cette variable peut ensuite être utilisée pour mettre à jour la colonne NewId de la table B de manière appropriée.

L'utilisation de la clause OUTPUT est une approche efficace et simple pour insérer plusieurs enregistrements et obtenir leurs valeurs d'identité dans Microsoft SQL Server 2005. Elle fournit un solution robuste et maintenable pour les tâches de manipulation de données impliquant des tables parent et enfant.

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