From: | Miguel Bernilla Sánchez <mbernilla(at)sedapal(dot)com(dot)pe> |
---|---|
To: | "ricardo yanguma" <ricardo(dot)yanguma(at)gmail(dot)com> |
Cc: | Postgres Español <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Cruce entre tablas para actualizar |
Date: | 2006-11-24 18:37:19 |
Message-ID: | 149712894.20061124133719@sedapal.com.pe |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
============
Con fecha Viernes, 24 de Noviembre de 2006, 12:33:01 p.m., escribió:
> Hoola listeros
>
>
> Tengo el siguiente update
>
> update nr_datos set campo1= a.pago
> from (select dep, sus, sum(valor) as pago from pagos as a group by dep, sus) as a
> where nr_datos.dep=a.dep
> and nr_datos.sus=a.sus;
update nr_datos n
set n.campo1 = (select sum(valor)
from pagos
where dep = n.dep and sus = n.sus
group by dep,sus)
where "XYZ"
como nr_datos es tu universo, en "XYZ" deberías delimitar los registros
que actualizarás, no sé talvez alguna fecha o algún otro criterio que
sea un índice...
>
> sobres los campos que se realizan las relaciones, todos tienen index,
>
> la tabla pagos tiene 1 millon de registro y la tabla datos tiene 3
> millones .. la consulta la ejecute y lleva mucho tiempo en su ejecucion
>
> La pregunta es la siguiente
>
> hay alguna otra forma de agilizar esta actualizacion?
>
> yo pense realizar un PL pero, en postgres no puedo hacer commit
> cada vez que actualiaza el registro me da un error de transacion
>
>
> Gracias por su ayuda
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Mario | 2006-11-24 19:26:00 | Re: Cruce entre tablas para actualizar |
Previous Message | Pablo Febolo | 2006-11-24 18:05:44 | Re: Cruce entre tablas para actualizar |