Siempre es recomendable intentar hacerlo sin cursores:
Código SQL:
Ver originalUPDATE personas_antiguas
SET nombre=nombre,edad=edad
FROM personas_antiguas A
INNER JOIN personas_nuevas N ON A.id_cod = N.codigo
INSERT INTO personas_antiguas (id_cod,verif,nombre,edad)
SELECT CONVERT(INT,SUBSTRING(N.codigo,0,CHARINDEX('-', N.codigo))),
SUBSTRING(N.codigo,CHARINDEX('-', N.codigo)+1,LEN(N.codigo)),N.nombre,N.edad
FROM personas_nuevas N
WHERE NOT EXISTS(
SELECT 1 FROM personas_antiguas A WHERE A.id_cod = N.codigo
)