Você trabalha em uma empresa de desenvolvimento de sistemas, sendo responsável pelos bancos de dados dos projetos. Muito tempo atrás o dono de uma vinícola solicitou um sistema para gerenciar a venda dos vinhos produzidos, na época foi desenvolvido o banco de dados com as seguintes tabelas e campos:
-Tabela Vinho (CodBar, Nome, Preço)
-Tabela Cliente (Numero, Nome, Endereço)
-Tabela Vendas (Id, ClienteNumero, VinhoCodBar)
Agora, esta vinícola quer realizar uma promoção de final de ano, em que o cliente recebe um desconto de 10% em compras com pagamento à vista. Para isso, eles solicitaram que sua empresa desenvolva um mecanismo no banco de dados onde o CodBar do vinho seja inserido e o valor do vinho retorne ao cliente já com 10%, se pago à vista. Você foi encarregado de realizar esta tarefa.
A resolução desse problema deve ser:
Escolha uma:
a.
CREATE FUNCTION fn_desconto (x DECIMAL(5,2), y FLOAT)
RETURNS DECIMAL(5,2)
RETURN (x * y);
CREATE PROCEDURE proc_desconto (VAR_VinhoCodBar INT)
SELECT (fn_desconto(Preco, 0.90)) AS "Valor com desconto", Nome AS
"Vinho"
FROM Vinho
WHERE CodBar = var_VinhoCodBar;
CALL proc_desconto(codigo);
b.
CREATE PROCEDURE proc_desconto (VAR_VinhoCodBar INT)
SELECT (fn_desconto(Preco, 0.90)) AS "Valor com desconto", Nome AS
"Vinho"
FROM Vinho
WHERE CodBar = var_VinhoCodBar;
CALL proc_desconto(codigo);
c.
CREATE FUNCTION fn_desconto (x DECIMAL(5,2), y FLOAT)
RETURNS DECIMAL(5,2)
RETURN (x * y);
CREATE PROCEDURE proc_desconto (VAR_VinhoCodBar INT)
SELECT (fn_desconto(Preco, 0.90)) AS "Valor com desconto", Nome AS
"Vinho"
FROM Vinho
WHERE CodBar = var_VinhoCodBar;
d.
CREATE FUNCTION fn_desconto (x DECIMAL(5,2), y FLOAT)
RETURNS DECIMAL(5,2)
RETURN (x * y);
CALL proc_desconto(codigo);
e.
CREATE FUNCTION fn_desconto (x DECIMAL(5,2), y FLOAT)
RETURNS DECIMAL(5,2)
CREATE PROCEDURE proc_desconto (VAR_VinhoCodBar INT)
SELECT (fn_desconto(Preco, 0.90)) AS "Valor com desconto", Nome AS
"Vinho"
FROM Vinho
WHERE CodBar = var_VinhoCodBar;
CALL proc_desconto(codigo);
Soluções para a tarefa
Resposta:
CREATE FUNCTION fn_desconto (x DECIMAL(5,2), y FLOAT)
RETURNS DECIMAL(5,2)
RETURN (x * y);
CREATE PROCEDURE proc_desconto (VAR_VinhoCodBar INT)
SELECT (fn_desconto(Preco, 0.90)) AS "Valor com desconto", Nome AS
"Vinho"
FROM Vinho
WHERE CodBar = var_VinhoCodBar;
CALL proc_desconto(codigo); Correto
Explicação:
Resposta:
Av - Subst. 2 - Programação e Desenvolvimento de Banco de Dados
Explicação:
1- a) DROP FUNCTION fn_media;
2 - a) CREATE FUNCTION fn_desconto (x DECIMAL(5,2), y FLOAT)
RETURNS DECIMAL(5,2)
RETURN (x * y);
CREATE PROCEDURE proc_desconto (VAR_VinhoCodBar INT)
SELECT (fn_desconto(Preco, 0.90)) AS "Valor com desconto", Nome AS
"Vinho"
FROM Vinho
WHERE CodBar = var_VinhoCodBar;
3 - b) As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
4 - d) ROLLBACK TO SAVEPOINT LastPoint;
5 - a) 5-I; 3-II; 4-III; 2-IV; 1-V.