From: | Henry <hensa22(at)yahoo(dot)es> |
---|---|
To: | Esteban Arias <estariascl(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | RE: <Unnamed Portal 1>??? |
Date: | 2007-11-28 13:55:11 |
Message-ID: | 433588.16117.qm@web30802.mail.mud.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- Esteban Arias <estariascl(at)gmail(dot)com> escribió:
> Señores, yo de nuevo con mis dudas...
>
> La cosa es la siguiente, entiendo según he leído y
> googleado que para
> ejecutar un procedimiento almacenado debo hacer lo
> siguiente, al menos en
> consola de psql,
>
> begin;
> select f_validausuario('earias');
> -- lo que me resulta lo siguiente
> f_validausuario
> --------------------
> <unnamed cursor 1>
>
> --luego, hago lo siguiente
> FETCH ALL IN "<unnamed cursor 1>";
> -- y me retorna los resultados esperados.
>
> Ahora viene la pregunta, como diablos puedo rescatar
> los datos que me
> retorna este procedimiento en PHP
>
> tengo esto, aunque no me da error, no encuentro la
> manera
>
>
> $result2 = pg_query($db_conn, "BEGIN; DECLARE
> rcursor CURSOR FOR SELECT
> f_datosusuario('$v_vUsername'); FETCH ALL IN
> rcursor;");
>
> while ($datos = pg_fetch_array($result2))
> { etc etc
>
> Maestros, una vez mas les pido ayuda, espero me
> puedan ayudar.
>
> saludos desde chile
>
hola,
para que no se te haga muy dificil, manda un refcursor
como parametro,y lo abres dentro de tu funcion y al
final quedaria algo como:
begin;
select algunafuncion('earias','un_refcursor');
fetch all in un_refcursor;
y despues hace un commit;
si esta en autocommit,
dile a PHP que desactive ea opcion,entonces en PHP
seria algo como:
$result2 = pg_query($db_conn, "BEGIN;SELECT
f_datosusuario('$v_vUsername','un_refcursor'); FETCH
ALL IN un_refcursor;")
while ($datos = pg_fetch_array($result2))
.
.
.
y despues no olvides el commit;
$result2 = pg_query($db_conn, "commit;")--me imagino
que sera algo asi
ojea la documentacion, especialmente la ultima parte
http://www.postgresql.org/docs/8.2/static/plpgsql-cursors.html#PLPGSQL-CURSOR-OPENING
Saludos
______________________________________________
¿En Madrid por primera vez?
Aprovecha el conocimiento de más de 2 millones de personas
http://es.answers.yahoo.com/info/welcome
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-11-28 15:13:46 | Re: Preocupacion con PostgreSQL |
Previous Message | juan chinga | 2007-11-28 13:22:16 | RE: <Unnamed Portal 1>??? |