Trigger con update - Insertar más de un registro

Problema: Por motivos varios, estoy usando un trigger que cuando actualiza el dato de una tabla, esa misma información se inserta en otra. El problema surge cuando lo actualizado son varios registros, todos contenidos en la famosa tabla lógica inserted, ¿cómo inserto cada uno de esos registros en la otra tabla?
Solución: Pidiendo ayuda en el internet, me dijeron de todo, desde que no usara triggers sino stored procedures hasta que cambiara de base de datos, pero mi problema persistía. Muchas veces estuve tentada a usar cursores y matar mi base de datos, pero en un foro que nada tenía que ver con el tema, se me iluminaron las ideas. Y para no usar cursores, utilicé un método poco ortodoxo de ir procesando registro por registro la tabla inserted.

¿Cómo? Primero debo poner en una temporal lo que contiene dicha tabla

SELECT * INTO #tmp_inserted FROM inserted

Luego empiezo a recorrer fila por fila la tabla. La belleza aquí es usar el set rowcount 1 para que solo se procese una fila, con dicha fila hacer lo que necesitemos, en mi caso insertar los datos en otra tabla, y luego eliminar la fila de la temporal y procesar la siguiente. Más o menos como un cursor pero utilizando menos procesos.

El código queda algo parecido a lo siguiente.

CREATE TRIGGER trigger1
ON Base_Datos..tabla
AFTER UPDATE
AS

IF UPDATE(campo) --Sirve para verificar que el trigger se ejecute solo cuando se actualice un campo en especial
BEGIN
 --Temporal para recorrer cada uno de los registros
 SELECT * INTO #tmp_inserted FROM inserted

 --Recorro cada uno de los registros
 While(Exists(select * from #tmp_inserted))
 BEGIN
  set ROWCOUNT 1
  
  --Aqui van mis procesos de inserción
  
  --Al final borro el registro procesado
  delete from #tmp_inserted
  set ROWCOUNT 0
 END
END