Re: Actualizar registros en una tabla

From: Felipe Araoz Ramos <faraoz(at)gmail(dot)com>
To: PostgreSQL-foro <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Actualizar registros en una tabla
Date: 2014-07-23 13:15:12
Message-ID: CAM6fARyBjLiV3cnipzeD7=FiE7WeS=PcVt9hE7873g5aTquyxQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ya lo solucioné

Habia dos problemas 1) codi=fila_item.codiprod; se cambio por codi*:=*
fila_item.codiprod
2) faltaba declarar RETURN stk al final del loop,

Gracias amigos por su ayuda

*Felipe Araoz Ramos*
RPM #941990605 / 941990605
RPC 992760385
NXT 822*9500 / 998229500

El 22 de julio de 2014, 9:43, Felipe Araoz Ramos <faraoz(at)gmail(dot)com>
escribió:

> Amigo Guillermo
>
> Si esta corregido, pero parece que eso no es el problema, voy a seguir
> revisando.
>
> Saludos
>
> *Felipe Araoz Ramos*
> RPM #941990605 / 941990605
> RPC 992760385
> NXT 822*9500 / 998229500
>
>
> El 22 de julio de 2014, 8:21, Guillermo E. Villanueva <
> guillermovil(at)gmail(dot)com> escribió:
>
> En
>> codi=fila_item.codiprod;
>> No te faltan los dos puntos?
>> codi:=fila_item.codiprod;
>>
>> Guillermo Villanueva
>>
>>
>>
>> El 21 de julio de 2014, 16:04, Carlos Bazán <infobaz(at)vtr(dot)net> escribió:
>>
>>> Como yo lo veo a primeras, no se esta actualizando la variable codi en
>>> codi=fila_item.codiprod;
>>> creo que debería ser codi:=fila_item.codiprod;
>>>
>>> Saludos
>>>
>>>
>>> El 21/07/14 13:29, Felipe Araoz Ramos escribió:
>>>
>>>> Amigos
>>>>
>>>> Estoy creando una funcion, para rrecorrer secuencialmente una tabla, de
>>>> principio a fin, actualizando el campo de stock en cada registro,
>>>> reinicializando la variable a cero cuando encuentra un nuevo producto y
>>>> continuar hasta terminar con el ultimo registro de la tabla. No me
>>>> muestra
>>>> error, pero tampoco me esta actualizando el campo de la tabla. que
>>>> podria
>>>> estar mal?. Espero vuestra ayuda.
>>>>
>>>> CREATE Or REPLACE FUNCTION SALDOSTOCK()
>>>> RETURNS INTEGER
>>>> AS $$
>>>> DECLARE
>>>> codi character(12);
>>>> stk numeric (20,5);
>>>> fila_item infkrdx%ROWTYPE;
>>>> BEGIN
>>>> stk := 0;
>>>> for fila_item in SELECT * FROM INFKRDX LOOP
>>>> codi=fila_item.codiprod;
>>>> /*Acumulo el stock en variable stk */
>>>> stk := case when fila_item.cod_trans='I' then
>>>> stk+fila_item.cantidad
>>>> else stk-fila_item.cantidad end;
>>>> UPDATE INFKRDX SET ST_FISICO=stk where n_operac=fila_item.n_operac;
>>>> if fila_item.codiprod<>INFKRDX.codi then stk := 0;
>>>> end if;
>>>> end loop;
>>>> end;
>>>> $$
>>>> language 'plpgsql'
>>>>
>>>> Gracias
>>>>
>>>> *Felipe Araoz Ramos*
>>>>
>>>> RPM #941990605 / 941990605
>>>> RPC 992760385
>>>> NXT 822*9500 / 998229500
>>>>
>>>>
>>>
>>> -
>>> Enviado a la lista de correo pgsql-es-ayuda (
>>> pgsql-es-ayuda(at)postgresql(dot)org)
>>> Para cambiar tu suscripción:
>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>>
>>
>>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message raul andrez gutierrez alejo 2014-07-23 21:06:08 Re: Actualizar registros en una tabla
Previous Message Lazaro Ruben Garcia Martinez 2014-07-23 00:48:15 RE: Duda con checkpoint_completion_target