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;