From: | Felipe Araoz Ramos <faraoz(at)gmail(dot)com> |
---|---|
To: | raul andrez gutierrez alejo <raulandrez(at)gmail(dot)com> |
Cc: | PostgreSQL-foro <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Actualizar registros en una tabla |
Date: | 2014-07-23 21:55:14 |
Message-ID: | CAM6fARyi4NoTF6i4yvUDL9bqLBcNDdaXpKcQh_TVEjrTaCRRLQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Gracias Raul
Probaré llegando a casa.
*Felipe Araoz Ramos*
RPM #941990605 / 941990605
RPC 992760385
NXT 822*9500 / 998229500
El 23 de julio de 2014, 16:06, raul andrez gutierrez alejo <
raulandrez(at)gmail(dot)com> escribió:
> Hola felipe.
>
> puede agregar un RAISE NOTICE despues del update para mostrar en el log
> de postgres el valor de la variables así:
>
> RAISE NOTICE ' item % , stk %', fila_item.n_operac,stk;
>
>
> El 23 de julio de 2014, 8:15, Felipe Araoz Ramos <faraoz(at)gmail(dot)com>
> escribió:
>
> 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
>>>>>
>>>>
>>>>
>>>
>>
>
>
> --
> Raul Andres Gutierrez Alejo
>
From | Date | Subject | |
---|---|---|---|
Next Message | Lazaro Ruben Garcia Martinez | 2014-07-23 22:10:41 | RE: Performance DB |
Previous Message | raul andrez gutierrez alejo | 2014-07-23 21:06:08 | Re: Actualizar registros en una tabla |