Maison > base de données > tutoriel mysql > Comment puis-je récupérer des valeurs d'identité après une instruction INSERT à l'aide de la clause OUTPUT ?

Comment puis-je récupérer des valeurs d'identité après une instruction INSERT à l'aide de la clause OUTPUT ?

Mary-Kate Olsen
Libérer: 2025-01-17 12:16:09
original
573 Les gens l'ont consulté

How Can I Retrieve Identity Values After an INSERT Statement Using the OUTPUT Clause?

Récupération efficace des ID de ligne nouvellement insérés avec la clause OUTPUT de SQL

Les opérations de base de données nécessitent souvent de récupérer l'ID d'une ligne nouvellement insérée dans la même requête. Cet article montre comment utiliser la puissante clause OUTPUT pour accomplir cela en SQL.

Structure des requêtes SQL

La clause OUTPUT est parfaitement intégrée dans la déclaration INSERT :

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.Id AS @var  --Retrieves the ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>
Copier après la connexion

Affichage de l'identifiant

La méthode la plus simple affiche l'ID nouvellement généré directement dans les résultats de la requête :

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>
Copier après la connexion

Stockage de l'ID dans une variable

Pour les scénarios plus complexes nécessitant un traitement ultérieur dans T-SQL, utilisez une variable de table :

<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT);

INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl (ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>
Copier après la connexion

Cette approche stocke l'ID généré dans @OutputTbl, permettant des opérations ultérieures dans votre code T-SQL. La clause OUTPUT offre la flexibilité d'inclure d'autres données de colonnes pertinentes selon les besoins.

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