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;
>>>
>>>
>>
>
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 |