1
resposta

Neste bloco é necessário o COMMIT?

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

Fala ai Adilson, geralmente quando eu vou executar alguma procedure, function ou trigger eu não utilizo commit.

Pois se estou rodando pela aplicação, a mesma é responsável pelo mesmo.

E quando rodo pelo console, sempre deixo o auto commit fora, assim, eu executo o commit manualmente, porém, se o auto commit estivesse habilitado isso não seria necessário.

Espero ter ajudado.