Maison > base de données > tutoriel mysql > Comment puis-je récupérer efficacement les valeurs d'identité après avoir inséré plusieurs enregistrements dans SQL Server ?

Comment puis-je récupérer efficacement les valeurs d'identité après avoir inséré plusieurs enregistrements dans SQL Server ?

DDD
Libérer: 2025-01-04 22:44:42
original
838 Les gens l'ont consulté

How Can I Efficiently Retrieve Identity Values After Inserting Multiple Records in SQL Server?

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

Lors de l'insertion de plusieurs enregistrements dans une table, vous pouvez rencontrer le besoin de récupérer les valeurs d'identité générées pour chaque enregistrement inséré. Dans ce cas, où vous insérez des enregistrements de la table B dans la table A et souhaitez obtenir les valeurs d'identité des enregistrements insérés, il existe une solution qui élimine le besoin de curseurs.

Dans SQL Server 2005, vous peut exploiter la clause OUTPUT pour accomplir cette tâche. La clause OUTPUT vous permet de spécifier une variable de table qui recevra la sortie de l'instruction INSERT, y compris les valeurs d'identité des lignes nouvellement insérées.

Voici un exemple :

DECLARE @output TABLE (id int)

INSERT INTO A (fname, lname)
OUTPUT INSERTED.ID INTO @output
SELECT fname, lname
FROM B
Copier après la connexion

Par à l'aide de la clause OUTPUT, vous pouvez remplir une variable de table nommée "@output" avec les valeurs d'identité des enregistrements insérés. Vous pouvez ensuite interroger cette variable de table pour récupérer les valeurs :

SELECT *
FROM @output
Copier après la connexion

Cette approche vous permet d'insérer efficacement plusieurs enregistrements et d'obtenir leurs valeurs d'identité sans recourir à des curseurs ou à des requêtes supplémentaires.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal