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 <[email protected]> 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 ([email protected]
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>

Responder a