Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2015, 07:36
edwin100
 
Fecha de Ingreso: agosto-2015
Mensajes: 35
Antigüedad: 8 años, 9 meses
Puntos: 0
concatenar nombre de una tabla con un valor integer

buenos dias amigos me encuentro un poco fustrado por no poder dar solucion a mi problema les explico estoy creando un proceso almacenado en postgresql y dentro del proceso estoy creando un for que va desde 1 a 10 este valor deseo colocarlo en un select concatenandolo con el nombre de la tabla ejemplo 'dia_habil_1' el uno seria el valor del for y lo que deberia retornar es un numero este es el codigo :


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


pero me surge un erro :
Código SQL:
Ver original
  1. ERROR:  no existe la columna «dia_habil_»
  2. LINE 1: SELECT (SELECT dia_habil_||'' || i FROM dia_habil WHERE disp...

si pueden ayudarme -?

Última edición por gnzsoloyo; 05/11/2015 a las 09:11