Re: ejecutar una consulta creada

From: Alvaro Herrera <alvherre(at)surnet(dot)cl>
To: Jairo Martín Miguel <jairo010(at)hotmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: ejecutar una consulta creada
Date: 2005-05-25 21:00:41
Message-ID: 20050525210041.GB10119@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Wed, May 25, 2005 at 10:29:23PM +0200, Jairo Martín Miguel wrote:

> >create function foo(text) returns setof <tipo> language sql as '
> >select ... WHERE ok_personas.seccion = $1';
> >
> me podrías aclarar cual es el tipo que tengo que devolver como resultado
> (donde pones <tipo>) no puedo devolver un subconjunto de las tuplas de una
> de mis tablas, ya que el resultado tiene campos de las tres tablas que
> incluyo en el FROM. Los tipos de los campos devueltos son:
>
> El campo "nombre" de tipo text se recoge de la tabla "OK_PERSONAS"
> El campo "programa" de tipo text se recoge de la tabla "DW_EDT"
> El campo "horas" de tipo float8 se recoge de la tabla "DW_HORAS"

Dos formas:

a) CREATE TYPE un_tipo (nombre text, programa text, horas float8);
CREATE FUNCTION .. RETURNS SETOF un_tipo

b) CREATE FUNCTION foo ... RETURNS SETOF RECORD
SELECT * FROM foo(...) AS func(nombre text, programa text, horas float8)

Suerte,

PS - no olvides responder siempre con copia a la lista.

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"La vida es para el que se aventura"

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro Romero Parra 2005-05-25 21:36:57 Re: Obteniendo informacion de 3 tablas en forma de columnas y no renglones. (Vista, Procedimiento Almacenado o consulta sencilla?).
Previous Message Alvaro Herrera 2005-05-25 20:58:49 Re: tipos de datos