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