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 >
