Re: Ayuda con Function Sql

From: "Mario Soto" <msotocl(at)gmail(dot)com>
To: "Miguel Panuera" <mpanuera(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda con Function Sql
Date: 2007-08-20 14:02:27
Message-ID: e9b17cde0708200702i2ed3c9efm6af6cc75901eb3bb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 17/08/07, Miguel Panuera <mpanuera(at)gmail(dot)com> escribió:
>
> Gracias , si funcionaaaaaaaaaaaa :D, pero siempre se debe crear un tipo, y
> disculpen la ignorancia asi en palabras simples que es un type?¿
> y muchas gracias x la ayuda :D

Depende de lo que quieras retornar, va a ser necesario crear un tipo o no.

type es un tipo de datos que tu puedes definir.

Suerte

El día 17/08/07, Mario Soto <msotocl(at)gmail(dot)com> escribió:
> >
> > 3.- Tambien se puede hacer lo siguiente:
> >
> > CREATE TYPE mi_tipo AS (
> > codigo INTEGER,
> > descripcion VARCHAR
> > );
> >
> >
> > CREATE OR REPLACE FUNCTION mi_funcion () RETURNS SETOF mi_tipo AS
> > $body$
> > select campo_1, campo_2
> > from mi_tabla
> > where
> > order by ;
> > $body$
> > LANGUAGE 'sql' VOLATILE RETURNS NULL ON NULL INPUT SECURITY INVOKER;
> >
> > select * from mi_funcion();
> >
> >
> > El día 17/08/07, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org > escribió:
> > >
> > > Miguel Panuera escribió:
> > > > El día 17/08/07, Alvaro Herrera < alvherre(at)commandprompt(dot)com>
> > > escribió:
> > > > >
> > > > > Miguel Panuera escribió:
> > > > > > Buenas tardes, quisiera saber como puedo retornar en una
> > > function una
> > > > > > consulta.. estaba probando esto
> > > > > > CREATE OR REPLACE FUNCTION f_movimientos()
> > > > > > RETURNS record AS
> > > > > > $BODY$
> > > > > > select * from movimiento;
> > > > > > $BODY$
> > > > > > LANGUAGE 'sql' VOLATILE;
> > > > > > pero el problema es q cuando lo ejecuto
> > > > > > select f_movimientos(); -- me devuelve esto:
> > > > > > "(4,10.00,S,Prueba,E,"2007-07-30 00:00:00",AC,,,,,,,1,1,)"
> > > > >
> > > > > prueba con
> > > > > select * from f_movimientos();
> > > >
> > > > me bota esto :S :
> > > >
> > > > ERROR: se requiere una lista de definición de columnas para
> > > funciones que
> > > > retornan «record»
> > > > Estado SQL:42601
> > >
> > > Por favor manda una copia en CC a la lista.
> > >
> > > Tienes dos opciones:
> > >
> > > 1. entregarle la lista de definicion de columnas, como te lo
> > > pide. Esto
> > > se hace asi:
> > >
> > > select * from f_movimientos() as foo(a int, b numeric, ...);
> > >
> > > donde la lista que le entregas es la misma que tiene el registro que
> > > te
> > > devuelve (o sea, en este caso, la misma definicion que tiene la tabla
> > > movimiento).
> > >
> > >
> > > 2. declarar la funcion de la siguiente forma:
> > >
> > > CREATE OR REPLACE FUNCTION f_movimientos()
> > > RETURNS movimiento AS
> > >
> > > --
> > > Alvaro Herrera
> > > http://www.flickr.com/photos/alvherre/
> > > "El número de instalaciones de UNIX se ha elevado a 10,
> > > y se espera que este número aumente" (UPM, 1972)
> > > --
> > > ---------------------------(fin del
> > > mensaje)---------------------------
> > > TIP 8: explain analyze es tu amigo
> > >
> >
> >
>
>
> --
> Miguel Panuera C.
> STsoft Developer
> mpanuera(at)gmail(dot)com
> m(dot)panuera(at)stsoftperu(dot)com
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Luis Guevara 2007-08-20 14:59:49 funciones no necesarias
Previous Message MIGUEL CANCHAS 2007-08-20 13:47:30 RE: Como crear codigos compuestos