Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

Atualiza Valor Total e Imposto

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();

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de variáveis com %TYPE para garantir consistência com os tipos da tabela, utilizou muito bem a estrutura de loop para percorrer os registros e ainda compreendeu a importância da função externa RETORNA_IMPOSTO para enriquecer a lógica de atualização.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!