Maison >base de données >tutoriel mysql >Comment la clause OUTPUT de SQL Server peut-elle récupérer les valeurs d'insertion générées automatiquement ?

Comment la clause OUTPUT de SQL Server peut-elle récupérer les valeurs d'insertion générées automatiquement ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-17 13:21:09435parcourir

How Can SQL Server's OUTPUT Clause Retrieve Auto-Generated Insert Values?

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 :

  • La clause 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 :

  • La clause OUTPUT est capable de récupérer plusieurs colonnes ; listez simplement les colonnes souhaitées, séparées par des virgules.
  • Sa fonctionnalité s'étend au-delà des IDENTITY colonnes pour englober d'autres colonnes générées automatiquement comme les GUID.
  • La prise en charge de la clause 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!

Déclaration:
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