Maison > base de données > tutoriel mysql > Comment récupérer des clés générées automatiquement dans SQL Server ?

Comment récupérer des clés générées automatiquement dans SQL Server ?

Susan Sarandon
Libérer: 2025-01-17 13:26:13
original
1057 Les gens l'ont consulté

How to Retrieve Automatically Generated Keys in SQL Server?

Accès aux clés générées automatiquement dans SQL Server

Lorsque vous travaillez avec des tables SQL Server contenant des colonnes d'ID générées automatiquement, il est crucial de récupérer efficacement les valeurs nouvellement générées. Ce guide présente une méthode simple et efficace utilisant les fonctionnalités intégrées de SQL Server.

La solution :

L'instruction INSERT ... OUTPUT fournit un moyen concis d'insérer une ligne et de capturer simultanément la ou les clés générées en une seule opération. Voici comment cela fonctionne :

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

Dans cet exemple, table représente votre table avec une colonne ID configurée comme colonne d'identité ou utilisant un type de données prenant en charge la génération automatique de valeur (comme le GUID). La clause OUTPUT dirige les colonnes de la ligne nouvellement insérée, y compris le ID généré, vers un jeu de résultats temporaire.

L'alias Inserted donne accès à cet ensemble de résultats temporaires, permettant la récupération du ID à l'aide de Inserted.ID.

Application pratique :

Pour stocker le ID généré dans une variable, utilisez ce qui suit :

DECLARE @id INT;
INSERT INTO table (name)
OUTPUT @id = Inserted.ID
VALUES ('bob');
SELECT @id;
Copier après la connexion

Cette approche ne se limite pas aux colonnes d'identité ; il fonctionne également avec d'autres colonnes générées automatiquement, telles que les GUID. Par exemple :

INSERT INTO table (guid)
OUTPUT Inserted.guid
VALUES (NEWID());
Copier après la connexion

Cela insère une ligne avec une colonne GUID et récupère immédiatement la valeur GUID générée.

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