| 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: | Whole Thread | Raw Message | 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 |