Ver Mensaje Individual
  #7 (permalink)  
Antiguo 19/11/2009, 14:54
rProgged
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 20 años, 3 meses
Puntos: 2
Respuesta: SQL dinamico en funcion pgsql

Me respondo yo mismo, en el tema del execute me faltaba el ciclo para recuperar los datos y devolverlos, finalmente queda así

Código PGSQL:
Ver original
  1. CREATE OR REPLACE FUNCTION BuscarAreas(estado boolean) RETURNS SETOF tbl_area_tematica AS $$
  2. DECLARE
  3.     datos tbl_area_tematica%rowtype;
  4.     sql TEXT := 'SELECT area_tem_id, area_tem_nombre, area_tem_activa FROM tbl_area_tematica';
  5.     sqlEstado TEXT;
  6. BEGIN
  7.     IF ( estado<>NULL ) THEN
  8.         sql = sql || ' WHERE area_tem_activa=$1';
  9.     END IF;
  10.     FOR datos IN EXECUTE sql USING estado LOOP
  11.                RETURN NEXT datos;
  12.     END LOOP;
  13.     RETURN;
  14. END
  15. $$ LANGUAGE plpgsql VOLATILE;

Por si a alguien le sirve.

Saludos