Maison > base de données > tutoriel mysql > Comment récupérer le dernier ID inséré dans SQL Server après une instruction INSERT ?

Comment récupérer le dernier ID inséré dans SQL Server après une instruction INSERT ?

DDD
Libérer: 2025-01-21 23:02:11
original
238 Les gens l'ont consulté

How to Retrieve the Last Inserted ID in SQL Server After an INSERT Statement?

Accès à l'ID de l'enregistrement nouvellement créé dans SQL Server

Ce guide montre comment obtenir l'ID de l'enregistrement le plus récemment inséré dans la table aspnet_GameProfiles dans SQL Server. La méthode optimale dépend de votre version de SQL Server :

SQL Server 2005 et versions ultérieures (sans déclencheurs INSERT) :

L'approche la plus efficace pour les versions plus récentes de SQL Server consiste à exploiter la clause OUTPUT directement dans l'instruction INSERT :

<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId)
OUTPUT INSERTED.ID
VALUES (@UserId, @GameId);</code>
Copier après la connexion

Par la suite, récupérez l'ID généré en utilisant ExecuteScalar() :

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

Cette méthode évite une requête supplémentaire, améliorant ainsi les performances.

SQL Server 2000 ou lors de l'utilisation de déclencheurs INSERT :

Pour les anciennes versions de SQL Server ou les scénarios impliquant des déclencheurs INSERT, utilisez la fonction SCOPE_IDENTITY() :

<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId)
VALUES (@UserId, @GameId);
SELECT SCOPE_IDENTITY();</code>
Copier après la connexion

L'identifiant récupéré est ensuite accessible en utilisant ExecuteScalar() :

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

En utilisant l'une ou l'autre de ces méthodes, vous pouvez récupérer de manière transparente l'ID nouvellement généré à partir de aspnet_GameProfiles, permettant ainsi les opérations ultérieures qui nécessitent ces informations.

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