Gracias Libras por tu ayuda con una pequeña lógica salio mis dudas.
  Cita:  UPDATE t1
SET t1.codigoC = 'C-'+RIGHT('000000'+CAST(t2.rn AS VARCHAR),6)+'-2012'
FROM  dbo.tmpCodigoARREGLAR t1 
inner join ( select codigoC , ROW_NUMBER() over(order by codigoC) as rn from dbo.tmpCodigoARREGLAR 
group by codigoC) as t2
on t1.codigoC= t2.codigoC
    Saludos.