1
resposta

Resolução da atividade - inclusão de venda via procedure, com chamada a função

Boa tarde!

CREATE OR REPLACE PROCEDURE INCLUINDO_DADOS_VENDA (
    p_ID produto_venda_exercicio.id%type,
    p_COD_PRODUTO produto_venda_exercicio.cod_produto%type,
    p_DATA produto_venda_exercicio.data%type,
    p_QUANTIDADE produto_venda_exercicio.quantidade%type,
    p_PRECO produto_venda_exercicio.preco%type
)

IS
    v_VALOR produto_venda_exercicio.valor_total%type;
    v_PERCENTUAL produto_venda_exercicio.percentual_imposto%type;

BEGIN
    v_VALOR := p_QUANTIDADE * p_PRECO;
    v_PERCENTUAL := retorna_imposto(p_COD_PRODUTO);

    INSERT INTO PRODUTO_VENDA_EXERCICIO (ID, COD_PRODUTO, DATA, QUANTIDADE, PRECO, VALOR_TOTAL, PERCENTUAL_IMPOSTO)
    VALUES (p_ID, p_COD_PRODUTO, p_DATA, p_QUANTIDADE, p_PRECO, v_VALOR, v_PERCENTUAL);

    COMMIT;
END;

EXECUTE INCLUINDO_DADOS_VENDA(2, 92347, TO_DATE('01/01/2022', 'DD/MM/YYYY'), 200, 25);
1 resposta

Olá, Estudante! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de procedimentos armazenados para automatizar as inserções com PL/SQL, utilizou muito bem as variáveis locais para calcular valores e ainda compreendeu a importância de funções auxiliares para enriquecer a lógica de negócio.

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

Sugestão de conteúdo para você mergulhar ainda mais no tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

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!