Levando em conta que minha procedure já tem o comando COMMIT para fechar a transação:
CREATE OR REPLACE PROCEDURE atualizar_cliente_segmercado
(p_id cliente.id%type,
p_segmercado_id cliente.segmercado_id%type)
IS
BEGIN
UPDATE cliente
SET segmercado_id = p_segmercado_id
WHERE id = p_id;
COMMIT;
END;
Mesmo assim é necessário que eu dê COMMIT para fechar e transação após chamar a procedure?
DECLARE
v_segmercado_id cliente.segmercado_id%type := 4;
BEGIN
FOR i in 1..3 LOOP
ATUALIZAR_CLIENTE_SEGMERCADO(i, v_segmercado_id);
END LOOP;
COMMIT;
END;