Segue minha resolução:
CREATE OR REPLACE PROCEDURE ATUALIZA_VRL_TOTAL_IMP
IS
v_COD PRODUTO_VENDA_EXERCICIO.COD_PRODUTO%TYPE;
v_ID PRODUTO_VENDA_EXERCICIO.ID%TYPE := 1;
v_VALOR_TOTAL PRODUTO_VENDA_EXERCICIO.VALOR_TOTAL%TYPE;
v_PER_IMP PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%TYPE;
v_COUNT NUMBER := 0;
BEGIN
SELECT COUNT(*) INTO v_COUNT FROM PRODUTO_VENDA_EXERCICIO;
LOOP
SELECT COD_PRODUTO, QUANTIDADE * PRECO INTO v_COD, v_VALOR_TOTAL
FROM PRODUTO_VENDA_EXERCICIO
WHERE ID = v_ID;
v_PER_IMP := RETORNA_IMPOSTO(v_COD);
UPDATE PRODUTO_VENDA_EXERCICIO
SET VALOR_TOTAL = v_VALOR_TOTAL, PERCENTUAL_IMPOSTO = v_PER_IMP
WHERE ID = v_ID;
v_ID:= v_ID + 1;
EXIT WHEN v_COUNT < v_ID;
END LOOP;
END;
EXECUTE ATUALIZA_VRL_TOTAL_IMP();