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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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