Maison > base de données > tutoriel mysql > Comment récupérer l'ID généré automatiquement après une INSERT dans SQL Server ?

Comment récupérer l'ID généré automatiquement après une INSERT dans SQL Server ?

Susan Sarandon
Libérer: 2025-01-17 13:16:11
original
860 Les gens l'ont consulté

How to Retrieve the Auto-Generated ID After an INSERT in SQL Server?

Récupération des identifiants générés automatiquement après les opérations INSERT de SQL Server

L'ajout de nouvelles données à une table SQL Server implique souvent des colonnes d'identité générées automatiquement. Ce guide montre comment récupérer efficacement l'ID nouvellement généré après une instruction INSERT. La clause OUTPUT de SQL Server fournit une solution propre.

La solution OUTPUT Clause

La clause OUTPUT vous permet de spécifier les colonnes de la ligne nouvellement insérée à renvoyer. C'est idéal pour capturer l'ID généré automatiquement.

Syntaxe :

<code class="language-sql">INSERT INTO YourTable (column1, column2, ...)
OUTPUT Inserted.IDColumn  -- Replace IDColumn with your actual ID column name
VALUES (value1, value2, ...);</code>
Copier après la connexion

Explication :

  • Inserted : Une table temporaire contenant la ligne nouvellement insérée. Il reflète la structure de votre table cible.
  • IDColumn : Le nom de votre colonne d'identité générée automatiquement. Remplacez cet espace réservé par le nom réel de votre colonne.

Exemple illustratif :

Disons que vous avez une Customers table :

<code class="language-sql">CREATE TABLE Customers (
  CustomerID INT IDENTITY(1, 1) PRIMARY KEY,
  CustomerName VARCHAR(255) NOT NULL
);</code>
Copier après la connexion

Pour insérer un nouveau client et obtenir le CustomerID, utilisez :

<code class="language-sql">INSERT INTO Customers (CustomerName)
OUTPUT Inserted.CustomerID
VALUES ('Acme Corp');</code>
Copier après la connexion

Cela renvoie le CustomerID nouvellement généré. Vous pouvez ensuite utiliser cette valeur dans d'autres requêtes ou la stocker dans une variable.

Remarque importante : La clause OUTPUT n'est pas limitée à une seule colonne. Vous pouvez récupérer plusieurs colonnes de la ligne insérée en les répertoriant, séparées par des virgules, dans la clause OUTPUT.

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!

source:php.cn
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