PostgreSQL - Problema con funciones

 
Vista:

Problema con funciones

Publicado por Marcelo (1 intervención) el 30/09/2003 18:22:36
Estoy probando a migrar de SQL Server a Postgresql, pero el inconveniente es que las funciones no me devuelven un conjunto de registros, ejemplo

select id_cliente, apellido, nombres from clientes where tipocliente = 1

Esto genera una lista de clientes, que cumplen esa condición, pero en postresql no se puede, o yo no lo encontre. Solo si devuelvo un campo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con funciones

Publicado por David Pinelo (82 intervenciones) el 02/10/2003 13:38:10
Creo que con PostgreSQL 7.3 (¿y con la 7.2? no me acuerdo) se puede devolver un conjunto de registros, en realidad, devuelves un tipo SET. (Me parece que era así). Mira en la documentación porque recuerdo haberlo leido.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con funciones

Publicado por Marcelo (6 intervenciones) el 02/10/2003 16:28:39
Si, lo que dice es que retorna un setof de la tabla, y tiene un ejemplo que no funciona. Solamente se puede retornar registros pero de un solo campo.

Este es el ejemplo de la ayuda.
CREATE TABLE foo (fooid int, foosubid int, fooname text);

CREATE FUNCTION getfoo(int) RETURNS setof foo AS '
SELECT * FROM foo WHERE fooid = $1;
' LANGUAGE SQL;

SELECT * FROM getfoo(1) AS t1;

SELECT * FROM foo
WHERE foosubid in (select foosubid from getfoo(foo.fooid) z
where z.fooid = foo.fooid);

CREATE VIEW vw_getfoo AS SELECT * FROM getfoo(1);
SELECT * FROM vw_getfoo;

Si tiene otra idea please, help.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con funciones

Publicado por David Pinelo (82 intervenciones) el 03/10/2003 10:44:28
¿Y en la 7.3? ... Me sonaba algo, pero ya te digo, nunca he hecho algo así.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con funciones

Publicado por Neo (6 intervenciones) el 09/10/2003 01:24:58
A mi me parece que para efectos se hacer simples SELECT en un store procedure o function (o tambien algunas consultas bien complejas) lo mejor es usar CREATE VIEW, es lo mas sano... tambien puedes usar WHERE y subselect sobre las vistas potenciandolas mas aùn.

:-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con funciones

Publicado por marcelo (6 intervenciones) el 14/10/2003 13:36:22
Gracias, le comento que el problema estaba en la versión 7.2 ya que no permitia resolver el problema que yo tenia, pero parece que varios han propuesto lo mismo y en la versión 7.3 ya lo resolvierón.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar