Skip site navigation (1) Skip section navigation (2)

Re: como anidar funciones plpgsql

From: "Carlos Mendez" <lucas1850(at)gmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: como anidar funciones plpgsql
Date: 2008-01-31 02:16:15
Message-ID: 4610af1f0801301816h3c28a40bl81b1500bc9b1c0af@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola, gracias por responder,

probe con perform, ahora sale:

CONTEXTO: SQL statement "SELECT insertar()"
PL/pgSQL function "unirfunc()" line 8 at perform

y en la linea 8 creo, tengo lo sgte:

perform insertar();

la funcion parece que se ejecuta correctamente, pero sin embargo sale ese
aviso o advertencia lo cual quisiera saber que me quiere decir, como
mencione antes la funcion toma los registros de una tabla y trata de
insertarlos o actualizarlos en otra, y parece que cada vez que toma un
registro para insetarlo o actualizarlo aparece el mensaje o aviso, pero la
funcion no se detiene solo el mensaje aparece como en un bucle, bueno en la
funcion utilizo varios bucles debe ser por eso que el mensaje se repite,
para probar las funciones utilizo la consola de windows y es ahi donde veo
la advertencia o aviso que se repite varias veces cuando ejecuto la funcion
unirfunc();

Gracias de antemano por la ayuda,
saludos.


2008/1/30, Alvaro Herrera <alvherre(at)commandprompt(dot)com>:
>
> Carlos Mendez escribió:
>
> > estoy aprendiendo a realizar funciones en plpgsql, hice algunas, ahora
> tengo
> > que ejecutarlas en cadena, es decir una a continuacion de otra, lo que
> se me
> > ocurre es realizar otra funcion que agrupe a todas las funciones, no se
> si
> > existe otra manera mejor de solucionarlo,
> > hice la sgte funcion llamada unirfunc, no tiene parametros de entrada,
> > retorna un int4, utilizo pgaccess;
>
> pgaccess?  Estas de broma?  Ese programa lleva años muerto.  Mejor usa
> pgAdmin.
>
> > DECLARE
> > consulta varchar;
> > resultado integer;
> > BEGIN
> >   consulta:='select insertar()';
> >   raise notice 'LA CONSULTA ES: %',consulta;
> >   execute consulta into resultado;
> >   raise notice 'el resultado es: %',resultado;
> >   RETURN 1;
> > END;
>
>
> Prueba con
>
> begin
>        perform insertar();
>        return 1;
> end;
>
> Si necesitas el resultado para algo (lo cual me parece dudoso), puedes
> hacer
>
> declare
>        resultado       integer;
> begin;
>        select insertar() into resultado;
>        raise notice 'el resultado es %', resultado;
>        return 1;
> end;
>
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> The PostgreSQL Company - Command Prompt, Inc.
>

In response to

Responses

pgsql-es-ayuda by date

Next:From: Ernesto QuiñonesDate: 2008-01-31 02:43:19
Subject: Re: es posible acelerar un update?
Previous:From: Leonel NunezDate: 2008-01-31 02:14:51
Subject: Re: El API pgsql en C

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group