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
>
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 |