-- 1. Actualización de Vínculos Geográficos
UPDATE public.snc_catalog_mapping SET dpto_snc = 'K', dist_snc = '5' WHERE entidad_id = '1002';
UPDATE public.snc_catalog_mapping SET dpto_snc = 'K', dist_snc = '2' WHERE entidad_id = '1003';
UPDATE public.snc_catalog_mapping SET dpto_snc = 'K', dist_snc = '7' WHERE entidad_id = '1007';
UPDATE public.snc_catalog_mapping SET dpto_snc = 'K', dist_snc = '8' WHERE entidad_id = '1014';
UPDATE public.snc_catalog_mapping SET dpto_snc = 'P', dist_snc = '2' WHERE entidad_id = '1501';
UPDATE public.snc_catalog_mapping SET dpto_snc = 'P', dist_snc = '6' WHERE entidad_id = '1502';

-- 2. Refresco de Nombres Descriptivos para los registros modificados
UPDATE public.snc_catalog_mapping m
SET 
    snc_nom_dist = COALESCE(r.nom_dist, 'No existe nom_dist'),
    snc_nombre = COALESCE(e.nombre, 'No existe nombre')
FROM public.snc_catalog_mapping m2
LEFT JOIN public.snc_raw_distritos r ON m2.dpto_snc = r.cod_dpto AND m2.dist_snc = r.cod_dist
LEFT JOIN LATERAL (
    SELECT nombre FROM dblink('host=192.168.1.254 user=postgres password=x25yvaga2017 dbname=sigemweb',
    'SELECT nombre FROM public.entidades WHERE entidad = ' || m2.entidad_id::text)
    AS t(nombre text)
) e ON true
WHERE m.entidad_id = m2.entidad_id 
AND m.entidad_id IN ('1002', '1003', '1007', '1014', '1501', '1502');
