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 de SQL Server ?

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

Mary-Kate Olsen
Libérer: 2025-01-17 12:26:10
original
201 Les gens l'ont consulté

How Can I Retrieve Identity Values After an INSERT Statement Using SQL Server's OUTPUT Clause?

Récupération des valeurs d'identité nouvellement générées avec la clause OUTPUT de SQL Server

Lors de l'insertion de données dans une base de données SQL Server, vous avez souvent besoin de la valeur d'identité nouvellement générée pour la ligne insérée. La clause OUTPUT fournit un moyen propre et efficace d'y parvenir. Cet article explore deux méthodes principales.

Méthode 1 : Sortie vers la console ou utilisation de ExecuteScalar()

Pour un débogage rapide ou la récupération de la valeur d'identité dans un contexte non-T-SQL (comme une application .NET), la clause OUTPUT peut envoyer la valeur directement à la console SSMS ou être capturée à l'aide de ExecuteScalar().

<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

Dans .NET :

<code class="language-csharp">int newId = command.ExecuteScalar();</code>
Copier après la connexion

Méthode 2 : Sortie vers une variable de table ou une table temporaire

Pour les scénarios nécessitant la valeur d'identité dans une procédure stockée ou un lot T-SQL, une variable de table ou une table temporaire offre une solution puissante. La clause OUTPUT dirige la valeur d'identité insérée dans cette table, permettant un traitement ultérieur dans l'environnement T-SQL.

<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')

-- Now you can use the ID from @OutputTbl
SELECT ID FROM @OutputTbl;</code>
Copier après la connexion

Ces techniques permettent aux développeurs de récupérer de manière transparente les valeurs d'identité générées à partir des INSERT instructions, facilitant ainsi le débogage, le renvoi des valeurs aux applications et permettant des flux de travail T-SQL complexes.

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