Re: Rendimiento sin COMMIT

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

In response to

Responses

Browse pgsql-es-ayuda by date

  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