Maison >base de données >tutoriel mysql >Comment puis-je récupérer une clé générée automatiquement après une INSERT dans SQL Server ?

Comment puis-je récupérer une clé générée automatiquement après une INSERT dans SQL Server ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-17 13:11:09236parcourir

How Can I Retrieve an Auto-Generated Key After an INSERT in SQL Server?

Accès aux clés générées automatiquement suite à une INSERT SQL Server

Problème : vous devez obtenir la valeur de clé générée automatiquement après avoir ajouté une nouvelle ligne à une table SQL Server.

Solution :

Alors qu'auparavant cela impliquait une requête SELECT distincte, SQL Server 2008 et les versions ultérieures offrent une méthode plus efficace utilisant la clause OUTPUT.

Voici la syntaxe :

<code class="language-sql">INSERT INTO table (name)
OUTPUT Inserted.ID
VALUES('bob');</code>

Cette instruction unique insère le nouvel enregistrement et renvoie simultanément l'ID nouvellement généré à partir de la pseudo-table Inserted. Cet identifiant est alors immédiatement accessible pour une utilisation au sein du même lot.

Considérations importantes :

  • Cette technique est efficace à la fois pour les colonnes IDENTITY et les colonnes non-IDENTITY (comme les GUID).
  • Plusieurs colonnes peuvent être spécifiées dans la clause OUTPUT, permettant la récupération d'informations supplémentaires à partir de l'enregistrement nouvellement inséré.

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