J'utilise l'instruction SQL Server suivante pour insérer des enregistrements et renvoyer la valeur d'ID auto-inc unique en une fois. Je me demande s'il y a une façon plus simple/plus rapide/meilleure de le faire?Existe-t-il un meilleur moyen de récupérer un identifiant unique lors de l'insertion?
SET NOCOUNT ON;
DECLARE @res table (ID bigint);
INSERT INTO [Titles] ([Name],[Timestamp],[Title])
OUTPUT INSERTED.ID INTO @res
VALUES ('Name','23 aug 2010','this is a title');
SELECT [ID] FROM @res;
UPD: La solution qui me convient le mieux est la suivante:
INSERT INTO [TestCase] ([Name],[Tags],[Timestamp],[Title])
OUTPUT INSERTED.*
VALUES ('Hello',0x22324423,'23 aug 2010','this is a title');
Très génération de code convivial. Vous pouvez facilement générer ces instructions pour n'importe quelle structure de données par réflexion. Fonctionne aussi très bien comme un substitut à Linq2SQL Dataset.InsertOnSubmit()
.
dupliquer de http://stackoverflow.com/questions/481395/t-sql-identity-scope-identity-output-and-other-methods-of-retrieving-last – devio