Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Query con campos dinámicos

Estas en el tema de Query con campos dinámicos en el foro de PostgreSQL en Foros del Web. Buenas tardes. Alguien me puede decir como puedo pasarle a un query campos dinámicos? Ejemplificando mi problema. Tengo una lista donde el usuario selecciona uno ...
  #1 (permalink)  
Antiguo 17/07/2007, 12:02
 
Fecha de Ingreso: julio-2007
Mensajes: 1
Antigüedad: 16 años, 9 meses
Puntos: 0
Query con campos dinámicos

Buenas tardes.

Alguien me puede decir como puedo pasarle a un query campos dinámicos?

Ejemplificando mi problema.

Tengo una lista donde el usuario selecciona uno de los campos de una tabla.

Supongamos que mi tabla(tb_x) tiene los campos id, nombre, descripcion. Y el usuario selecciona nombre.

variable="nombre".

por lo que necesito armar un query como el siguiente:

select variable from tb_x.

Ya lo intente con quote_ident(), to_ascii(), varchar(),name(),cast() y substr() y no he conseguido que me muestre los datos de la tabla.

Espero me puedan ayudar. Saludos!
  #2 (permalink)  
Antiguo 18/07/2007, 02:39
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 2 meses
Puntos: 13
Re: Query con campos dinámicos

Buenas, se hace asi:

CREATE OR REPLACE FUNCTION dinamica(campo varchar) RETURNS SETOF record
AS
$BODY$
DECLARE
r record;
BEGIN
for r in EXECUTE 'select ' || campo || ' as c from tb_x
loop
return next r;
end loop;

END;
$BODY$ LANGUAGE 'plpgsql' VOLATILE;


select * from dinamica('id') as foo(id integer)

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:02.