Accès aux clés générées automatiquement après l'INSERT dans SQL Server
Souvent, vous avez besoin de la valeur d'une clé générée automatiquement après une opération INSERT. La clause OUTPUT
de SQL Server offre une méthode simplifiée pour y parvenir, particulièrement utile à partir de SQL Server 2008.
Exemple illustratif :
Disons que nous avons une table appelée « personne » avec les colonnes « id » (générée automatiquement) et « nom ». Pour ajouter un enregistrement avec le nom "bob" et obtenir l'ID nouvellement généré, utilisez cette commande :
<code class="language-sql">INSERT INTO person (name) OUTPUT Inserted.id VALUES ('bob');</code>
Répartition :
OUTPUT
ordonne le retour de la valeur d'une colonne spécifiée (dans ce cas, "id") à partir de la ligne nouvellement insérée.Inserted
agit comme une pseudo-table représentant la ligne qui vient d'être insérée.Inserted.id
indique explicitement à SQL Server de récupérer la valeur "id" de la ligne insérée.Autres considérations :
OUTPUT
est capable de récupérer plusieurs colonnes ; listez simplement les colonnes souhaitées, séparées par des virgules.IDENTITY
colonnes pour englober d'autres colonnes générées automatiquement comme les GUID.OUTPUT
commence avec SQL Server 2005.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!