¿Puedo mantener las claves antiguas vinculadas a nuevas claves al hacer una copia en SQL?

Estoy intentando copiar un registro en una tabla y cambiar algunos valores con un procedimiento almacenado en SQL Server 2005. Esto es simple, pero también necesito copiar las relaciones en otras tablas con las nuevas claves primarias. Como este proceso se usa para copiar por lotes los registros, me ha resultado difícil almacenar alguna relación entre las claves antiguas y las nuevas. En este momento, estoy agarrando nuevas claves de la inserción de lote usando SALIDA EN. ex:

INSERT INTO table
 (column1, column2,...)
 OUTPUT INSERTED.PrimaryKey INTO @TableVariable
 SELECT column1, column2,...

¿Hay alguna forma como esta para insertar fácilmente las llaves antiguas al mismo tiempo que estoy insertando nuevas claves (para asegurar que haya emparejado las claves correspondientes)?

Sé que los cursores son una opción, pero nunca los he usado y solo los he escuchado hacer referencia en una historia de horror. Preferiría usar OUTPUT INTO, o algo así.

Respuestas a la pregunta(2)

Su respuesta a la pregunta