Re: Cruce entre tablas para actualizar

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
>  
>  
>

In response to

Browse pgsql-es-ayuda by date

  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