From: | Fernando Hevia <fhevia(at)gmail(dot)com> |
---|---|
To: | Juan J Rosales Rodriguez <jjrosalesuci(at)gmail(dot)com> |
Cc: | POSTGRES <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Transacciones dentro de una funcion |
Date: | 2014-01-07 18:54:35 |
Message-ID: | CAGYT1XSBMLC+PBxpExN6Q6=K55rc2OTKOv77iyzgZ2Yu4CwV+A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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 | Juan J Rosales Rodriguez | 2014-01-07 20:05:08 | Re: Transacciones dentro de una funcion |
Previous Message | Juan J Rosales Rodriguez | 2014-01-07 18:43:47 | Re: Transacciones dentro de una funcion |