Posso manter as chaves antigas vinculadas a novas chaves ao fazer uma cópia no SQL?

Eu estou tentando copiar um registro em uma tabela e alterar alguns valores com um procedimento armazenado no SQL Server 2005. Isso é simples, mas eu também preciso copiar relacionamentos em outras tabelas com as novas chaves primárias. Como este proc está sendo usado para copiar registros em lote, achei difícil armazenar alguma relação entre chaves antigas e novas chaves. Agora, estou pegando novas chaves da inserção do lote usando o OUTPUT INTO. ex:

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

Existe uma maneira como esta para obter facilmente as chaves antigas inseridas ao mesmo tempo em que estou inserindo novas chaves (para garantir que emparelhei as teclas correspondentes corretas)?

Eu sei que os cursores são uma opção, mas eu nunca os usei e só os ouvi referenciados em uma história de horror. Eu prefiro muito mais usar o OUTPUT INTO, ou algo parecido.