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;

Responder a