Imagem de fundo

Para automatizar a geração de relatórios mensais de vendas...

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?


A

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;


B

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;


C

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 || '/' || ano);

END;


D

CREATE OR REPLACE PROCEDURE GerarRelatorioVendas IS

BEGIN

SELECT mes, ano, SUM(Valor)

FROM Vendas

GROUP BY mes, ano;

END;