Re: Consulta

From: "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com>
To: Martin <redblood(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Consulta
Date: 2006-06-04 21:07:31
Message-ID: 5aa69e1b0606041407i4288c27dn6212fd3a0f11f65a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola martin puedes definir tus funciones algo asi:

Este es usando plpgsql

CREATE OR REPLACE FUNCTION mostrar_articulos(subcategoria int) RETURNS SETOF
RECORD AS $$
DECLARE
articulos record;
BEGIN
FOR articulos IN SELECT cod_art,nombre,descripcion,precio FROM
articulo where cod_sub_cat=subcategoria
LOOP
RETURN NEXT articulos;
END LOOP;
RETURN;
END;
$$
LANGUAGE plpgsql;

y si quieres usar solo sql

CREATE OR REPLACE FUNCTION mostrar_todos_empleados() RETURNS empleado AS $$
SELECT * FROM empleado;
$$ LANGUAGE sql;

On 6/4/06, Martin <redblood(at)gmail(dot)com> wrote:
>
> Jaime Muchas Gracias por tu respuesta logré solucionar el tema de las
> tablas que "no existian".
> Con respecto a lo de las funciones yo me refiero a hacer un "select *
> from "tabla" dentro de una fincion y que me devuelva un recordset, o
> la tabla como venga, pero que la devuelva, ya que no encuentro la
> forma... por ejemplo en ms. sql server yo hago un procedimiento
> almacenado de esta manera:
>
> create proc spObtenerClientes
> select * from clientes
> go
>
> eso me crea un procedimiento almacenado que si lo ejecuto me devuelve
> un recordset (una tabla sería) con todos los datos que pedí, no
> encuentro la manera de lograr esto en Postgre, ya me fijé en la ayuda
> pero todos los ejemplos siempre retornan un tipo de dato (int, char,
> etc..) y nunca retornan una tabla.
>
> Desde ya, Muchas Gracias.
>
>
>
>
>
> On 6/3/06, Jaime Casanova <systemguards(at)gmail(dot)com> wrote:
> > On 6/1/06, Martin <redblood(at)gmail(dot)com> wrote:
> > > Buenas
> > >
> > > Tengo instalado Postgre 8.1.3 en Windows xp sp2, y resulta que cuando
> > > creo una bd mediante un script o manualmente, y voy a la Query tool
> > > del PgAdminIII, y hago select * from tabla, me dice que esa tabla no
> > > existe, sin embargo yo la veo en el PgAdmin.. y con otras tablas de la
> > > BD la consulta funciona bien.. es un problema mio o es normal??
> > >
> >
> > podrias mostrar el create table y el select que te da el error, me
> > suena a un problema de mayusculas y minusculas. ej:
> >
> > create table "Pais" (
> > codigo serial not null primary key,
> > nombre text not null
> > );
> >
> > select * from Pais; -- va a fallar
> > select * from pais; -- va a fallar
> >
> > select * from "Pais"; --- este esta bien
> >
> >
> > > Otra: para crear un Funcion que ejecute dentro una consulta y que me
> > > devuelva una tabla como hago? ya que no me permite poner como valor de
> > > salida void y si pongo el tipo SETOF como vi en la ayuda, me devuelve
> > > los datos pero separados por comas...
> > > Perdon por la ignorancia y desde ya Muchas Gracias!
> > >
> >
> > muestra que tratastes de hacer, asi no perdemos tiempo con lo que ya
> sabes...
> >
> > --
> > Atentamente,
> > Jaime Casanova
> >
> > "Programming today is a race between software engineers striving to
> > build bigger and better idiot-proof programs and the universe trying
> > to produce bigger and better idiots.
> > So far, the universe is winning."
> > Richard Cook
> >
>
>
> --
> ||--< Martin >--||
> ||--< Linux Registered User #383458 >--||
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 3: si publicas/lees desde Usenet, por favor envía "subscribe-nomail"
> a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> a los suscriptores de la lista
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Brian Colman 2006-06-05 13:10:48 Re: Conectar PHP con PostgreSQL
Previous Message Martin 2006-06-04 19:20:14 Re: Consulta