Hola, como estas llamando a esa función?
On 06/04/16 11:49, MKHotmail wrote:
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 J
Gracias
MK