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

Select from variable

Estas en el tema de Select from variable en el foro de PostgreSQL en Foros del Web. Hola amigos... Estoy automatizando ciertos procedimientos pero me surgio la inquietud de realizar mis sql's donde un nombre de una tabla esta en una variable... ...
  #1 (permalink)  
Antiguo 10/09/2008, 10:06
 
Fecha de Ingreso: agosto-2008
Mensajes: 28
Antigüedad: 12 años, 2 meses
Puntos: 0
Select from variable(Resuelto)

Hola amigos...

Estoy automatizando ciertos procedimientos pero me surgio la inquietud de realizar mis sql's donde un nombre de una tabla esta en una variable...

Algo como esto:

Código:
DECLARE
	vbuffer		varchar;

BEGIN

SELECT 	buffer
INTO 	vbuffer
FROM 	rutas r, unidades u
WHERE	r.codigo_ruta = u.codigo_ruta AND
	         u.codigo_uni = 'B15_AFF666';
	

SELECT within(the_geom,(SELECT geomunion(the_geom) from vbuffer)) 
FROM 	recorrido

No se si sea posible, pues pense en generar una cadena q almacene todo mi sql y ejecutarlo mediante alguna funcion del postgresql


Código:
   
Lv_comando := 'SELECT '||p_columna_descripcion||
                  ' FROM '||p_nombre_tabla||
                  ' WHERE '||p_clausula_where;

Lv_descripcion := execute(Lv_comando);

Saludos..

Última edición por davydky; 15/09/2008 a las 08:16
  #2 (permalink)  
Antiguo 10/09/2008, 10:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: Select from variable

¿?¿?¿? La pregunta/duda/problema es???
  #3 (permalink)  
Antiguo 10/09/2008, 10:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 28
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Select from variable

Realizar un select donde el nombre de mi tabla esta en una varaible local...

Select * from "mi_variable"

Saludos..
  #4 (permalink)  
Antiguo 11/09/2008, 01:09
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: Select from variable

Es como has puesto, guardas en una variable la consulta que quieres ejecutar y luego EXECUTE variable;

Salu2
  #5 (permalink)  
Antiguo 11/09/2008, 09:59
 
Fecha de Ingreso: agosto-2008
Mensajes: 28
Antigüedad: 12 años, 2 meses
Puntos: 0
Solucion..

Bueno para kien necesite lo solucione asi:

Código:
[
CREATE OR REPLACE FUNCTION sql(IN "varchar", IN "varchar", OUT respuesta "varchar") AS
$BODY$

DECLARE 
cadena varchar = 'SELECT codigo_uni FROM ' ||  $1 ||  ' WHERE codigo_uni = ' ||chr('39')|| $2 ||chr('39')||';';
BEGIN

		EXECUTE cadena INTO respuesta;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;



SELECT sql('unidades','B15_AAJ135')

Saludos... y gracias x el acolite...
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 12:24.