Problème : Comment pouvons-nous obtenir la valeur de clé générée automatiquement (comme un « id » à partir d'une colonne d'identité) suite à une INSERT
opération dans SQL Server 2008 ?
Solution : SQL Server propose une méthode simple utilisant la clause OUTPUT
:
<code class="language-sql">INSERT INTO table (name) OUTPUT Inserted.ID VALUES('bob');</code>
La clause OUTPUT
ordonne le retour des colonnes spécifiées une fois le INSERT
terminé. Ici, nous sélectionnons la colonne ID
de la pseudo-table Inserted
, qui contient les données de la ligne nouvellement insérée.
Explication :
Lors de l'insertion de données dans une table avec une colonne d'identité, la base de données attribue une nouvelle valeur unique. La clause OUTPUT
récupère efficacement cette valeur générée simultanément avec la clause INSERT
, évitant ainsi le besoin d'une instruction SELECT
distincte.
Remarque importante : La clause OUTPUT
ne se limite pas aux colonnes d'identité ; il peut également récupérer d'autres colonnes non-identitaires (y compris les GUID).
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!