Select public.grabar_importaciones() ;

 

 

MK

 

 

De: pgsql-es-ayuda-ow...@postgresql.org
[mailto:pgsql-es-ayuda-ow...@postgresql.org] En nombre de Anthony Sotolongo
Enviado el: miércoles, 06 de abril de 2016 09:55 a.m.
Para: MKHotmail <mcanc...@hotmail.com>; pgsql-es-ayuda@postgresql.org
Asunto: Re: [pgsql-es-ayuda] Error en una funcion....

 

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 :)

 

Gracias

 

MK

 

Responder a