Użyj klauzuli wyjściowej z 2005 r.:
DECLARE @output TABLE (id int)
Insert into A (fname, lname)
OUTPUT inserted.ID INTO @output
SELECT fname, lname FROM B
select * from @output
teraz twoja zmienna tabeli ma wartości tożsamości wszystkich wstawianych wierszy.