Re: Hola buenos Dias

From: Alvaro Herrera <alvherre(at)surnet(dot)cl>
To: olivia jurado <valerie_nicole2000(at)yahoo(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Hola buenos Dias
Date: 2005-06-15 14:32:27
Message-ID: 20050615143227.GB9440@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tue, Jun 14, 2005 at 01:04:37PM -0400, alvherre(at)surnet(dot)cl wrote:
> Olivia Jurado escribio:
>
> >tengo un problema en una consulta
> >tengo lo siguiente:
> >
> >DECLARE
> > tiemp125 time;
> > reg record;
> >BEGIN
> > for rs in select * from mitabla
> > loop
> > update mitabla set
> > tiemp125=tpo_trabajado - '08:00:00':: time
> >
> >codigo=rs.codigo;
> > end loop;
> >END
>
> Yo diria que lo que necesitas es dejar de escribir codigo por un tiempo,
> conseguirte un libro sobre teoria relacional, y sentarte a leer. O bien,
> lee la seccion "Tutorial" de la documentacion de Postgres.

Ok, ok, permitanme decirlo de otra manera:

Lo que hace tu funcion no tiene sentido. Lo que tu estas haciendo es:

- hacer un loop que se ejecuta una vez para cada fila de "mitabla"
- para cada fila, hacer un UPDATE
- en ese update, se cambian todas las filas de la tabla "mitabla"
poniendo el campo tiemp125 en tpo_trabajado - 8 horas.

Es decir, vas a actualizar cada fila n veces, donde n es la cantidad de
filas de "mitabla". El resultado de hacer eso n veces es exactamente el
mismo que si hicieras el update una sola vez.

Como ves lo que esta haciendo la funcion _parece_ ser lo que realmente
quieres que suceda, porque el resultado es igual, pero en realidad _no_
es lo que quieres hacer. Eventualmente vas a encontrar con que
"Postgres es muy lento" y entonces vas a venir aca a que te ayudemos con
la lentitud y vamos a estar por todas partes buscando como arreglar los
problemas -- ahora que los tenemos a la vista podemos solucionarlos de
inmediato.

PS -- nadie esta obligado a leer los mails que yo publico en esta lista.
Si a alguien no le gusta, puede poner un filtro que borre mis mensajes.
Es muy sencillo. Si alguien quiere obligarme a que le responda con
guantes de seda y bandeja de plata, le puedo dar mi numero de cuenta
corriente y conversamos.

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
Y una voz del caos me habló y me dijo
"Sonríe y sé feliz, podría ser peor".
Y sonreí. Y fui feliz.
Y fue peor.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2005-06-15 14:39:53 Re: Hola buenos Dias
Previous Message Edwin Quijada 2005-06-15 14:24:53 RE: ayuda