Miguel Angel escribió:
> CREATE OR REPLACE FUNCTION cambia() RETURNS INTEGER AS $$
> DECLARE
> a RECORD;
> cont INTEGER:=0;
> BEGIN
> FOR a IN (SELECT * FROM prueba) LOOP
> UPDATE prueba SET valor2=(SELECT REPLACE(a.valor2 , '.' ,'')) WHERE
> valor1=a.valor1 AND valor2=a.valor2;
> cont:=cont+1;
> END LOOP;
> RAISE NOTICE '% registros modificados',cont;
> RETURN cont;
> END;
> $$ LANGUAGE PLPGSQL;
>
> SELECT cambia();
Recortando todo lo que sobra obtengo esto:
UPDATE prueba SET valor2=(SELECT REPLACE(a.valor2 , '.' ,''));
y el resultado sera exactamente el mismo.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support