Buenos días,
Por pedido del área alumnos comenzamos a hacer unos cambios en la[b] tabla mdp_personas_contactos[/b] del G3.18.0. Concretamente, nos pedian que pasemos todos los correos "@udc.edu.ar" a Principal (contacto_tipo = 'MP'), y todo los que no sean "@udc.edu.ar" a Secundario (contacto_tipo = 'MS').
Esto se realiza con un script (que dejo al final del mensaje), y como algunos registros tenian el mismo mail en diferente tipo (ej: MI y MP), se corre otro script para dejar 1 solo registro cuando el mail esta repetido.
Hasta acá todo viene bien, se cambian los tipos y se borran los duplicados. El problema es que si ahora quiero agregar un nuevo contacto desde el Sistema Gestión, me sale el error que adjunto.
Investigando un poco, aparentemente se pierde la secuencia de la tabla para agregar nuevos registros. Corro los siguientes comandos, pero el error sigue:
SELECT setval(‘negocio.mdp_personas_contactos_seq’,nextval(‘negocio.mdp_personas_contactos_seq’)-1);
y luego
SELECT currval(‘negocio.mdp_personas_contactos_seq’) as seq;
Éste último comando me devuelve el siguiente resultado: 12836, por lo que entiendo que se está ejecutando correctamente.
No sé como hacer para que se pueda volver a agregar nuevos contactos a las personas desde el Sistema de Gestión.
Desde ya muchas y espero alguna ayuda, saludos!
scripts utilizados
– ## actualización de mail secundario (MS) cuando el email NO ES ‘udc.edu.ar’ ##
update mdp_personas_contactos pc
set contacto_tipo = case when email not like ‘%udc.edu.ar%’ then ‘MS’ else pc.contacto_tipo end;
– ## actualización de mail principal (MP) cuando el email ES ‘udc.edu.ar’ ##
update mdp_personas_contactos pc
set contacto_tipo = case when email like ‘%udc.edu.ar%’ then ‘MP’ else pc.contacto_tipo end[/size];
– ## elimino los registros de email repetidos ##
delete from mdp_personas_contactos t1
using mdp_personas_contactos t2
where t1.ctid < t2.ctid
and t1.email = t2.email[/size];