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.
>
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 |