Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/09/2010, 12:57
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: Duda Con Array

death_nemesis
te explico mas o menos como afrontar el problema, ya que lo que tratas de hacer no se puede.

Debes recurrir a los cursores y en vez de recorrer en un for las posiciones del vector, debes recorrer el cursor y usar cada valor.

sería algo así:
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION ejemplo()
  2.   RETURNS text AS
  3. $BODY$
  4. DECLARE
  5. cur CURSOR FOR SELECT campo FROM tabla;
  6. BEGIN
  7. OPEN cur;
  8. WHILE found LOOP
  9.     FETCH cur INTO variable;
  10.         SELECT COUNT(*) FROM tabla WHERE valor=variable;
  11. END LOOP;
  12. CLOSE cur;
  13. RETURN 'listo';
  14. END;
  15. $BODY$
  16.   LANGUAGE 'plpgsql' VOLATILE

revisa bien la documentación de cursores.

espero haberte ayudado
__________________
Without data, You are another person with an opinion.
W. Edwads Deming