

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Para automatizar a geração de relatórios mensais de vendas, um banco de dados Oracle precisa de uma Stored Procedure que receba o mês e o ano como parâmetros e retorne o total de vendas. A tabela Vendas inclui as colunas VendaID, DataVenda e Valor. Qual seria a assinatura correta para esta Stored Procedure?
CREATE OR REPLACE PROCEDURE
GerarRelatorioVendas(mes IN NUMBER, ano IN
NUMBER, totalVendas OUT NUMBER) AS
BEGIN
SELECT SUM(Valor) INTO totalVendas
FROM Vendas
WHERE EXTRACT(MONTH FROM DataVenda) = mês
AND EXTRACT(YEAR FROM DataVenda) = ano;
END;
CREATE OR REPLACE FUNCTION
GerarRelatorioVendas(mes NUMBER, ano NUMBER)
RETURN NUMBER IS totalVendas NUMBER;
BEGIN
SELECT SUM(Valor) INTO totalVendas
FROM Vendas
WHERE MONTH(DataVenda) = mes AND
YEAR(DataVenda) = ano; RETURN totalVendas;
END;
CREATE OR REPLACE PROCEDURE
GerarRelatorioVendas(mes INT, ano INT) IS
totalVendas NUMBER;
BEGIN
totalVendas := (SELECT SUM(Valor)
FROM Vendas
WHERE TO_DATE(DataVenda, 'MM/YYYY') = mes || '/
END;
CREATE OR REPLACE PROCEDURE GerarRelatorioVendas IS
BEGIN
SELECT mes, ano, SUM(Valor)
FROM Vendas
GROUP BY mes, ano;
END;