Maison >base de données >tutoriel mysql >Comment récupérer des clés générées automatiquement dans SQL Server ?
Accès aux clés générées automatiquement dans SQL Server
Lorsque vous travaillez avec des tables SQL Server contenant des colonnes d'ID générées automatiquement, il est crucial de récupérer efficacement les valeurs nouvellement générées. Ce guide présente une méthode simple et efficace utilisant les fonctionnalités intégrées de SQL Server.
La solution :
L'instruction INSERT ... OUTPUT
fournit un moyen concis d'insérer une ligne et de capturer simultanément la ou les clés générées en une seule opération. Voici comment cela fonctionne :
<code class="language-sql">INSERT INTO table (name) OUTPUT Inserted.ID VALUES ('bob');</code>
Dans cet exemple, table
représente votre table avec une colonne ID
configurée comme colonne d'identité ou utilisant un type de données prenant en charge la génération automatique de valeur (comme le GUID). La clause OUTPUT
dirige les colonnes de la ligne nouvellement insérée, y compris le ID
généré, vers un jeu de résultats temporaire.
L'alias Inserted
donne accès à cet ensemble de résultats temporaires, permettant la récupération du ID
à l'aide de Inserted.ID
.
Application pratique :
Pour stocker le ID
généré dans une variable, utilisez ce qui suit :
<code class="language-sql">DECLARE @id INT; INSERT INTO table (name) OUTPUT @id = Inserted.ID VALUES ('bob'); SELECT @id;</code>
Cette approche ne se limite pas aux colonnes d'identité ; il fonctionne également avec d'autres colonnes générées automatiquement, telles que les GUID. Par exemple :
<code class="language-sql">INSERT INTO table (guid) OUTPUT Inserted.guid VALUES (NEWID());</code>
Cela insère une ligne avec une colonne GUID et récupère immédiatement la valeur GUID générée.
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!