Re: [Pgsql-ayuda] Crear funcion.

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Leonardo Boet Sánchez <boet(at)gtm(dot)tel(dot)etecsa(dot)cu>
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] Crear funcion.
Date: 2003-05-30 02:07:08
Message-ID: 20030530020708.GE4541@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Thu, May 29, 2003 at 06:44:33PM -0400, Leonardo Boet Sánchez wrote:

> create function test1() returns test1
> as 'select frase from frases'
> languaje 'sql' ;
>
> Me da el siguiente error Type test1 does not exist
>
> de la siguiente forma:
>
> create function test1() returns setof test1
> as 'select frase from frases'
> languaje 'sql' ;

test1 debe ser un tipo que exista. Si quieres retornar algo que en
tiempo de creacion no existe como tipo (o crearlo en demanda), usa SETOF
RECORD, y llamas al SELECT con la definición del tipo. Mira la
documentación sobre SETOF. No es trivial, pero no es ciencia de
cohetes.

http://developer.postgresql.org/docs/postgres/xfunc-sql.html

Ojo, que para cada tabla existe un tipo del mismo nombre. Seguramente
tu ejemplo funcionaria asi:

create function test1() returns setof frases as
'select frase from frases' language sql;

select * from test1();

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
Voy a acabar con todos los humanos / con los humanos yo acabaré
voy a acabar con todos / con todos los humanos acabaré (Bender)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2003-05-30 02:16:56 Re: [Pgsql-ayuda] Crear funcion.
Previous Message Alvaro Herrera 2003-05-30 01:47:59 Re: [Pgsql-ayuda] kill process [idle]?