esto es lo que estoyu tratando de hacer pero me genera error con el FETCH NEXT FROM nombe_cursor ... lo coloque dentro de execute pero me dice que el cursor no existe si alguien pe muede colaborar ... o como puedo hacer para navegar en la variable de tipo record
 
DECLARE  --LV_EMPRESAS  empresas%ROWTYPE;  LV_strconexion text;    SqlStr  text;   CR_catalogo   refcursor;   prueba  record;  otra varchar;   i integer;  f integer;BEGIN--Se crea la conexion con la DB de catalogo   LV_strconexion := 'hostaddr=127.0.0.1 port=5432 dbname= catalogoDBs user='||usuario||' password='||clave;  EXECUTE 'SELECT dblink_connect(''LG_conexcatalog'','||quote_literal(LV_strconexion)||')';  SqlStr := 'SELECT trim(dblk_host),trim(dblk_dbname),trim(dblk_port) FROM tcatd_dblinksempresas WHERE empr_codigo ='||$1||' AND dblk_estado = ''A''';  OPEN CR_catalogo FOR SELECT * FROM dblink(LV_strconexion,SqlStr) AS (dblk_host varchar,dblk_dbname varchar,dblk_port varchar);  execute 'FETCH NEXT FROM CR_catalogo';
  FETCH CR_catalogo INTO prueba;   i := 1;  FOR i IN 1..prueba/*como puedo obtener este valor de aca*/ LOOP    otra := prueba.dblk_dbname;  END LOOP;    RETURN 1;
END;
 
 
muchas gracias por la colaboracion
_________________________________________________________________
Busca desde cualquier página Web con una protección excepcional. Consigue la Barra de herramientas de Windows Live hoy mismo y GRATUITAMENTE.
http://www.toolbar.live.com