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>
Par la suite, récupérez l'ID généré en utilisant ExecuteScalar()
:
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
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>
L'identifiant récupéré est ensuite accessible en utilisant ExecuteScalar()
:
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
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!