Esta pregunta se acerca a lo que necesito, pero mi escenario es ligeramente diferente. La tabla de origen y la tabla de destino son las mismas y la clave primaria es un identificador único (guid). Cuando intento esto:
insert into MyTable
select * from MyTable where uniqueId = @Id;
Obviamente obtengo una violación de restricción de clave principal, ya que intento copiar sobre la clave primaria. En realidad, no quiero copiar la clave primaria en absoluto. Más bien, quiero crear uno nuevo. Además, me gustaría copiar selectivamente ciertos campos y dejar los otros nulos. Para hacer las cosas más complejas, necesito tomar la clave primaria del registro original e insertarla en otro campo en la copia (campo Id anterior).
Estoy seguro de que hay una solución fácil para esto, simplemente no conozco suficiente TSQL para saber qué es.