SCOPE_IDENTITY () sẽ cung cấp chính xác cho bạn ID CUỐI CÙNG. Những gì bạn cần là kết hợp nó với @@ Rowcount để cung cấp cho bạn phạm vi ID. Như Richard khác đã chỉ ra , điều này chỉ hoạt động nếu mức tăng của bạn được đặt thành 1
Ví dụ:
declare @last int, @first int
insert ...
select @last = scope_identity(), @first = scope_identity() - @@rowcount + 1
Một cách khác (sử dụng cách này trong SQL Server 2008 để có kết quả được đảm bảo) để làm điều này là sử dụng ĐẦU RA mệnh đề
declare @ids table (id int)
INSERT INTO Table1 (FirstName ,LastName ,EmailAddress)
output inserted.id into @ids
-- Get the ids
SELECT id from @Ids
Bảng hiện chứa tất cả các id được chèn vào