Maison > base de données > tutoriel mysql > Comment récupérer le dernier ID inséré dans SQL Server ?

Comment récupérer le dernier ID inséré dans SQL Server ?

Barbara Streisand
Libérer: 2025-01-21 22:57:10
original
522 Les gens l'ont consulté

How to Retrieve the Last Inserted ID in SQL Server?

Obtention de l'ID de la dernière ligne insérée

Lorsque vous travaillez avec des bases de données SQL Server et des clés primaires à incrémentation automatique, accéder à l'ID de l'enregistrement le plus récemment ajouté est une exigence courante. Ce guide présente plusieurs méthodes pour y parvenir, en tenant compte des différentes versions de SQL Server et de la présence potentielle de déclencheurs d'insertion.

SQL Server 2005 et versions ultérieures (sans déclencheurs d'insertion)

Pour les versions 2005 et ultérieures, une approche simplifiée consiste à incorporer la clause OUTPUT INSERTED.ID directement dans votre instruction INSERT. Cette clause renvoie efficacement l'ID de la ligne nouvellement insérée. Voici un exemple :

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

L'ID nouvellement généré est alors facilement accessible via la méthode ExecuteScalar() de votre SqlCommand objet :

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

SQL Server 2000 ou lorsque des déclencheurs d'insertion existent

Dans SQL Server 2000 ou dans les scénarios impliquant des déclencheurs d'insertion, une stratégie légèrement différente est nécessaire :

  1. Exécutez l'instruction INSERT standard.
  2. Utilisez la fonction SCOPE_IDENTITY() pour récupérer la dernière valeur d'identité insérée.
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId)
VALUES (@UserId, @GameId);
SELECT SCOPE_IDENTITY();</code>
Copier après la connexion

Semblable à la méthode précédente, ExecuteScalar() peut être utilisé pour obtenir l'ID résultant :

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

Ces méthodes fournissent des moyens efficaces et fiables pour récupérer l'ID de la dernière ligne insérée, permettant une intégration transparente avec les opérations de base de données ultérieures.

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