SCOPE_IDENTITY() geeft u de LAATSTE ID correct. Wat je nodig hebt, is om het te combineren met @@Rowcount om je het bereik van ID's te geven. Zoals de andere Richard aangeeft , dit werkt alleen als uw verhoging is ingesteld op 1
Bijvoorbeeld:
declare @last int, @first int
insert ...
select @last = scope_identity(), @first = scope_identity() - @@rowcount + 1
Een andere manier (gebruik dit in SQL Server 2008 voor gegarandeerde resultaten) om dit te doen, gebruikt u de OUTPUT clausule
declare @ids table (id int)
INSERT INTO Table1 (FirstName ,LastName ,EmailAddress)
output inserted.id into @ids
-- Get the ids
SELECT id from @Ids
De tabel bevat nu alle ingevoegde id's