Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Manière correcte d'exécuter 2 commandes SQL sans autre commande exécutée entre les deux

Pour insérer une ligne et obtenir son identité, vous n'avez pas besoin de bloquer toutes les autres commandes. Utilisez simplement une transaction en combinaison avec SCOPE_IDENTITY :

BEGIN TRAN;

INSERT INTO MyTable (MyColumn)
VALUES ('MyValue');

SELECT SCOPE_IDENTITY();

COMMIT TRAN;

En savoir plus sur SCOPE_IDENTITY sur MSDN .