Bueno en el post anterior tuve la necesidad de devolver el campo apellidos en 2 campos: apellido paterno y apellido materno, pero ahora necesito hacer un UPDATE sobre la tabla persona que me permita insertar cada uno de los apellidos en sus campos respectivos.
Antes de eso quitare mas de un espacio entre cada apellido para el caso que el usuario del sistema haya ingresado:
APELLIDO1..APELLIDO2
UPDATE persona SET pers_apellidos = replace(pers_apellidos, ' ', ' ');
Ahora quitare los espacios al inicio y al final
UPDATE persona SET pers_apellidos = trim(pers_apellidos);
Listo. Ahora solo queda insertar los apellidos en cada campo. Aquí el UPDATE es usando un subquery. Para mi caso esta subquery son todos las personas que aun los campos apellido paterno y materno están NULL
UPDATE persona SET pers_apellido_paterno=subquery.apellido_paterno,pers_apellido_materno=subquery.apellido_materno FROM (SELECT pers_id,split_part(pers_apellidos,' ',1) AS apellido_paterno, split_part(pers_apellidos,' ',2) AS apellido_materno FROM persona WHERE pers_apellido_paterno IS NULL AND pers_apellido_materno IS NULL) AS subquery WHERE persona.pers_id=subquery.pers_id;
Listo!! ahora si next
Enamorado del blues, la trova y el rock. Un apasionado a tiempo completo de la tecnología, pivoteo y me adapto a cada nuevo paso que se da. Busco continuamente las mejores prácticas y metodologías para asegurar la calidad en el software y los procesos de negocio. Algunas horas las dedico a buscar conocimiento en filosofía y teología.