2010/6/24 Dianna Florencia Romero Berrospi <diannys_1...@hotmail.com>: > Hola gentita, yo de nuevo, tengo la siguiente función, a pesar de lo que > revisar n veces no encuentro el error, cuando ejecuto la siguiente función > me da como resultado "unnamed portal", por favor alguien puede decirme que > esta mal, gracias. > Ah!!! y Gracias a Emmanuel Calvo, por responder a mi anterior pregunta. > > > Create or Replace function spPruebaPrueba > ( > docu varchar > ) > Returns SetOf RefCursor As > $Body$ > Declare Lista RefCursor; > Begin > Open Lista For > With Recursive > Referencia (DocId, DocEnc, RefDoc, RefEnc) As > ( > Select T0.DocId, > T1.DocEnc, > T0.ReFDoc, > T2.DocEnc > From DocumentoReferencia T0 > Inner Join Documento T1 On (T0.DocId = T1.DocId) > Inner Join Documento T2 On (T0.RefDoc = T2.DocId) > Where T0.RefDoc ilike 'E-02993' > Union All > Select T0.DocId, > T2.DocEnc, > T0.RefDoc, > T3.DocEnc > From DocumentoReferencia T0 > Inner Join Referencia T1 On (T0.RefDoc = T1.docid) > Inner Join Documento T2 On (T0.DocId = T2.DocId) > Inner Join Documento T3 On (T0.RefDoc = T3.DocId) > ) > Select DocId, DocEnc, RefDoc, RefEnc from referencia; > Return Next Lista; > Return; > End; > $Body$ > LANGUAGE 'plpgsql' VOLATILE;
Estas retornando un set de refcursor? Creo que no es lo que quieres (según lo que estoy observando de la función). refcursor es una referencia a un cursor. Para que querés recorrer la consulta con un for? Para eso directamente (si aún quieres encapsularlo en una función), incrusta el SQL en una función LANGUAGE 'sql' y llámalo: SELECT * FROM spPruebaPrueba('valor'); Lo que si, tendrás que crear una vista o un tipo para el dato que retorna (y utilizar RETURNS SETOF prueba_return): CREATE VIEW prueba_return AS Select DocId, DocEnc, RefDoc, RefEnc from referencia; Saludos -- Emanuel Calvo Franco www.emanuelcalvofranco.com.ar Join: http://www.thevenusproject.com/ - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda