Siempre buscando la optimización de consultas debemos intentar siempre el uso de operaciones de conjunto sobre las operaciones fila a fila, éste es uno de los ejemplos en donde usando T-Sql podemos obtener los últimos IDs generados a partir de la inserción en una las tablas que tienen Identity,
DECLARE @output TABLE (id int) –Tabla para capturar los IDs generados
Insert into A (fname, lname) — Tabla en la que insertaremos los datos
OUTPUT inserted.ID INTO @output –Captura de los IDs generados con el uso de la palabra clave OUTPUT
SELECT fname, lname FROM B — Consulta que trae los datos a insertar
select * from @output — Presentando resultados (opcional)
Mediante el uso de ésta técnica podemos aumentar notablemente la velocidad de nuestra consultas y procedimientos almacenados
Espero sea de ayuda