Considerando a execução de um script PL/SQL para gerar rela...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa A é a correta.
Para resolver esta questão, é importante compreender como o PL/SQL interage com a linguagem SQL para realizar operações de cálculo e agrupamento de dados em tabelas. A questão trata de calcular o total de vendas mensais a partir de uma tabela chamada Vendas, que contém as colunas VendaID, DataVenda, e ValorVenda.
Alternativa A: Esta é a estratégia correta. Aqui, utilizamos a função SUM() para calcular o total de vendas, e a função TO_CHAR() para extrair o mês da data de cada venda. Quando aplicamos TO_CHAR(DataVenda, 'MM'), conseguimos agrupar as vendas por mês que é exatamente o que a questão pede. Esta abordagem é eficiente pois utiliza funções SQL diretamente, minimizando a complexidade e o tempo de execução.
Alternativa B: Nesta alternativa, é sugerido o uso de um LOOP para iterar sobre cada registro e acumular valores. Apesar de ser uma solução possível, ela não é a mais eficiente. A utilização de loops pode ser mais lenta quando trabalhamos com grandes volumes de dados, pois a operação é realizada registro por registro, ao invés de processar os dados de forma agrupada.
Alternativa C: Criar uma função PL/SQL que receba o mês como parâmetro e retorne o total de vendas para aquele mês não é a abordagem mais eficaz para esta questão. Embora funcione, ela não usa o agrupamento de SQL da forma mais direta e pode requerer múltiplas chamadas para cobrir todos os meses, ao contrário de uma única query que resolve tudo de uma só vez.
Alternativa D: Esta alternativa propõe o uso de um cursor com um acumulador dentro de um procedimento armazenado. Embora esta abordagem seja técnica e válida, ela é mais complexa e menos eficiente do que simplesmente usar SQL para calcular e agrupar dados. Cursors são úteis em algumas situações específicas, mas para este caso, onde precisamos de um simples agrupamento e soma, são desnecessários.
Em resumo, a melhor prática é utilizar o poder do SQL para operações de agregação e agrupamento, o que torna a alternativa A a mais adequada para esta questão.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo