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.