Re: Se puede hacer llamado a una funcion desde otra funcion

From: Rusel Fichi <rdfs(dot)ing(at)gmail(dot)com>
To: Arcel Labrada Batista <alabradab(at)uci(dot)cu>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Se puede hacer llamado a una funcion desde otra funcion
Date: 2013-06-03 00:47:32
Message-ID: CAMiTfwJ=1zZGXGsUYbwr2teFvTnrG2huaaJ34DvB8K4cBzMgWQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias muchachos a la final me funciono mejor retornar la primera funcion
adentro de la segunda XD xq cuando intente utilizar el perform me arrojo lo
siguiente:

ERROR: la ejecución alcanzó el fin de la función sin encontrar RETURN
CONTEXT: función PL/pgSQL «llama»

por lo cual me resulto solo de esta forma...

create or replace function llama () returns boolean as $$
begin
return fun1();
end;
$$
language plpgsql;

Saludos!

El 23 de mayo de 2013 13:06, Arcel Labrada Batista <alabradab(at)uci(dot)cu>escribió:

> crea tu segunda funcion de esta manera
>
> create or replace function llama () returns boolean as $$
> declare
> salida boolean;
> begin
> select * into salida from fun1();
> return true;
> end;
> $$
> language plpgsql;
>
>
> ------------------------------
> *De: *"Rusel Fichi" <rdfs(dot)ing(at)gmail(dot)com>
> *Para: *"pgsql-es-ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
> *Enviados: *Jueves, 23 de Mayo 2013 9:15:46
> *Asunto: *[pgsql-es-ayuda] Se puede hacer llamado a una funcion desde
> otra funcion
>
>
> Buenos días compañeros, tengo necesidad de realizar una funcion que
> realice ciertas acciones en mis tablas pero me gustaria hacer un llamado de
> una funcion al ejecutar otra... este seria un ejemplo sencillo:
>
> Esta seria la funcion que pienso llamar desde otra:
>
> create or replace function fun1 () returns boolean as $$
> declare a integer;
> begin
> a=(select id from producto order by id desc limit 1);
> insert into producto (nombre,precio) values ('nevera',1500);
> insert into inventario (cantidad,id_producto) values (500,a);
> return true;
> end;
> $$
> language plpgsql;
>
> Esta funcion llama a otra funcion:
>
> create or replace function llama () returns boolean as $$
> begin
> select fun1();
> return true;
> end;
> $$
> language plpgsql;
>
> Al ejecutar la funcion "llama" usando select llama () me arroja el
> siguiente error :
>
> ERROR: la consulta no tiene un destino para los datos de resultado
> SUGERENCIA: Si quiere descartar los resultados de un SELECT, utilice
> PERFORM.
> CONTEXTO: función PL/pgSQL «llama» en la línea 3 en sentencia SQL
>
>
> Gracias por cualquier ayuda estimados!
>
>
> <http://www.uci.cu/>
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Corradini, Carlos 2013-06-06 13:42:51 PL/PGSQL
Previous Message Emanuel Calvo 2013-05-28 09:28:31 Re: [pgsql-es-ayuda] Limitar tamaño a tablespace