fiz uma stored function no postgresql mas não consigo obter os dados retornados pela function.
O problema é que o retorno é um refcursor.
Segui esta dica do manual do PHP:
if a procedure returns a cursor you do something like that:
$result = pg_query($conn, "SELECT procedure_x('rcursor'); FETCH ALL IN rcursor");
e gerei este código :
$query = pg_query($this->conex,$argumento) or die($this->DBError());
onde :
&argumento = "select busca_bolsa7(".$_SESSION["user_serv"].",'ref'; FETCH ALL IN ref);";
argumento fica assim : select busca_bolsa7(1,'ref'; FETCH ALL IN ref);
E então aparece o seguinte erro :
*Warning*: pg_query() [function.pg-query <http://quebrapedra.a...ion.pg-query>]: Query failed: ERROR: syntax error at or near ";" at character 28 in E:\Fontes\TransfWEB\dbconnect.class.php on line 86
A linha 86 é : $query = pg_query($this->conex,$argumento) or die($this->DBError());
O erro está no ponto e vírgula depois da definição do refcursor.
O problema é que se eu não fizer o FETCH ALL IN não acesso os dados retornados pelo cursor do postgresql.
Alguém poderia me dar uma luz ???
Obrigado
André