CREATE OR REPLACE PROCEDURE ATT_VALOR_TOTAL_IMPOSTO
IS
v_ID PRODUTO_VENDA_EXERCICIO.ID%type := 1;
v_COD PRODUTO_VENDA_EXERCICIO.COD_PRODUTO%type;
v_QUANTIDADE PRODUTO_VENDA_EXERCICIO.QUANTIDADE%type;
v_PRECO PRODUTO_VENDA_EXERCICIO.PRECO%type;
v_VLRT PRODUTO_VENDA_EXERCICIO.VALOR_TOTAL%type;
v_PERCENT PRODUTO_VENDA_EXERCICIO.PERCENTUAL_IMPOSTO%type;
v_N_VENDA INTEGER;
BEGIN
SELECT COUNT (*) INTO v_N_VENDA FROM PRODUTO_VENDA_EXERCICIO;
LOOP
SELECT COD_PRODUTO, QUANTIDADE, PRECO INTO v_COD, v_QUANTIDADE, v_PRECO
FROM PRODUTO_VENDA_EXERCICIO WHERE ID = v_ID;
v_PERCENT := RETORNA_IMPOSTO(v_COD);
v_VLRT := (v_QUANTIDADE * v_PRECO);
UPDATE PRODUTO_VENDA_EXERCICIO SET VALOR_TOTAL = v_VLRT,
PERCENTUAL_IMPOSTO = v_PERCENT WHERE ID = v_ID;
v_ID := v_ID + 1;
EXIT WHEN v_ID < v_N_VENDA;
END LOOP;
END;