Re: Transacciones dentro de una funcion

From: Juan J Rosales Rodriguez <jjrosalesuci(at)gmail(dot)com>
To: Fernando Hevia <fhevia(at)gmail(dot)com>
Cc: POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Transacciones dentro de una funcion
Date: 2014-01-07 20:05:08
Message-ID: CAEoi2GWn9VDwSGvDbKqsjGC_hkUfqP2XZsj-wvWxNqSz9xFK+Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gracias por la respuesta muy util!!!

2014/1/7 Fernando Hevia <fhevia(at)gmail(dot)com>

> Lamentablemente no aún. Pero existe este workaround bonitamente
> documentado:
>
> http://tapoueh.org/blog/2013/10/14-autonomous-transactions.html
>
>
>
> 2014/1/7 Juan J Rosales Rodriguez <jjrosalesuci(at)gmail(dot)com>
>
>> Ummmmm postgres ya tiene transacciones autonomas ?????
>>
>>
>> 2014/1/7 Juan J Rosales Rodriguez <jjrosalesuci(at)gmail(dot)com>
>>
>>> Buenas tardes las funciones generan una transaccion automaticamente pero
>>> si quisiera ejecutar una funcion pero que me este aplicando los cambios a
>>> medida que esta se ejecuta por ejemplo por que quiero que los cambios se
>>> aplicen instantaneamente ya que pueden ser muchos productos.
>>>
>>> DECLARE
>>> v_cursor record;
>>> v_result boolean;
>>> BEGIN
>>> FOR v_cursor IN
>>> SELECT
>>> prod.idproducto,
>>> prod.existencia,
>>> prod.precio
>>> FROM productos
>>> where prod.existencia * prod.precio <> prod.importe
>>> LOOP
>>>
>>> BEGIN TRANSACTION;
>>>
>>> UPDATE productos SET importe = v_cursor.cantidad * v_cursor.precio
>>> WHERE idproducto= v_cursor.idproducto;
>>>
>>> COMMIT;
>>>
>>>
>>> END LOOP;
>>> RETURN 1;
>>> END;
>>>
>>>
>>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message William Diaz Pabón 2014-01-08 17:21:11 No se refleja update dentro de una funcion
Previous Message Fernando Hevia 2014-01-07 18:54:35 Re: Transacciones dentro de una funcion