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
Libérer: 2025-01-17 13:11:09
original
315 Les gens l'ont consulté

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 :

INSERT INTO table (name)
OUTPUT Inserted.ID
VALUES('bob');
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal