Re: Ayuda con Function Sql

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

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

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Brando Torres 2007-08-18 01:51:20 RE: Problemas al Insertar Datos
Previous Message Miguel Panuera 2007-08-17 23:19:07 Re: Ayuda con Function Sql