Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/11/2015, 12:53
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: concatenar nombre de una tabla con un valor integer

Cuando quieras utilizar sql dinamico como veo que lo estas tratando de hacer, es necesario que utilices la sentencia EXECUTE.

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION prueba()
  2.     RETURNS SETOF "int8" AS
  3.     $BODY$
  4. DECLARE
  5.     r INTEGER;
  6.     r2 INTEGER;
  7.     i INTEGER;
  8.    
  9. BEGIN
  10.  
  11. r := 0;
  12.  
  13.  FOR i IN 1..10  LOOP
  14.  
  15.  EXECUTE 'SELECT dia_habil_'|| i ||' FROM dia_habil WHERE dispositivo=''10000002'' AND intervalo=''06:00''' INTO r2;
  16. r:= r+ r2;
  17.  
  18. RETURN NEXT r;
  19.  
  20. END LOOP;
  21.  
  22.  
  23.  
  24. END;
  25. $BODY$
  26. LANGUAGE 'plpgsql' VOLATILE;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming