Buenos días, estoy haciendo una función simple y me arroja este error :
Microsoft OLE DB Provider for ODBC Drivers : ERROR: se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo; Error while executing the query Mi función es esta : solo es pasar la información importada de una tabla a la de producción(si existe actualiza sino lo agrega..) : CREATE OR REPLACE FUNCTION public.grabar_importaciones() RETURNS SETOF "record" AS $BODY$ DECLARE r RECORD; cuenta INTEGER; BEGIN FOR r IN select * from tbl_temporal LOOP SELECT INTO cuenta count(*) FROM productos where idproducto = r.idproducto ; IF cuenta > 0 THEN UPDATE productos SET nombre_producto = r.nombre_producto, idfamilia = r.idfamilia, idsubfamilia = r.idsubfamilia Where idproducto = r.idproducto ; ELSE INSERT INTO productos(idproducto, nombre_producto, idfamilia, idsubfamilia) Values(r.idproducto, r.nombre_producto, r.idfamilia, r.idsubfamilia); END IF ; return next r ; END LOOP; return; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; Podrian indicarme por donde va mi espantoso error :) Gracias MK