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

Añadir un comentario

El código HTML se muestra como texto y las direcciones web se transforman automáticamente.

Discusiones sobre el mismo tema

URL de retroenlace : http://creativapixel.com/blog/index.php?trackback/10

15 reads