From: | "Jaime Casanova" <systemguards(at)gmail(dot)com> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)commandprompt(dot)com> |
Cc: | "Juan Carlos Barranco de Paz" <jcb(at)greccosoft(dot)es>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Rendimiento sin COMMIT |
Date: | 2008-06-15 18:01:33 |
Message-ID: | c2d9e70e0806151101g201d2052x6753a01bb4752d60@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Sun, Jun 15, 2008 at 12:46 PM, Alvaro Herrera
<alvherre(at)commandprompt(dot)com> wrote:
> Jaime Casanova escribió:
>> On Fri, Jun 13, 2008 at 10:28 AM, Alvaro Herrera
>> <alvherre(at)commandprompt(dot)com> wrote:
>
>> > No puedes usar cursores directamente.
>> >
>> ?? porque?? me estoy perdiendo algo??
>
> Hmm, ¿cambiaron esto hace poco? Que yo recuerde, no se podía.
>
Desde el 8.3 se puede hacer WHERE CURRENT OF de un cursor en plpgsql,
o te referias a otra cosa?
http://www.postgresql.org/docs/8.3/static/plpgsql-cursors.html#PLPGSQL-CURSOR-USING
CREATE OR REPLACE FUNCTION prueba_1(dw01 integer) RETURNS smallint AS
$BODY$
DECLARE
jcb cursor for select *
from test1
where col1 = dw01
for update;
dw21 record;
BEGIN
OPEN jcb;
LOOP
FETCH jcb INTO dw21;
EXIT WHEN NOT FOUND;
update test1 set col2 = 0
where CURRENT OF jcb;
END LOOP;
CLOSE jcb;
RETURN 1;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 87171157
From | Date | Subject | |
---|---|---|---|
Next Message | Juan Carlos Barranco de Paz | 2008-06-15 19:14:37 | RE: Rendimiento sin COMMIT |
Previous Message | Alvaro Herrera | 2008-06-15 17:46:11 | Re: Rendimiento sin COMMIT |