36 lines
1.5 KiB
SQL
36 lines
1.5 KiB
SQL
#####################################################
|
||
###################### Task 7: ##################
|
||
1. Створіть збережену процедуру під назвою GetProfit, яка повертає загальний прибуток, отриманий
|
||
від певного продукту за певний рік. В якості параметрів процедури користувач повинне ввести значення
|
||
для ProductID та року.
|
||
Наприклад, результат процедури GetProfit із ProductID="P1" і 2020 роком показано на скриншоті нижче:
|
||
https://drive.google.com/open?id=18W3lTIs6yJlSw99k6uq1g5oPhSqLnd63&usp=drive_fs
|
||
|
||
set @ProductID = "P1", @year = 2020;
|
||
|
||
select * from Products;
|
||
|
||
select * from Orders;
|
||
|
||
drop procedure GetProfit;
|
||
|
||
create procedure GetProfit(in inputYear int, in inputProductId varchar(10))
|
||
begin
|
||
declare TotalProfit float default 0;
|
||
|
||
select round(sum(SellPrice * Quantity - (BuyPrice * Quantity)), 2)
|
||
into TotalProfit
|
||
from Orders
|
||
join Products on Orders.ProductID = Products.ProductID
|
||
where YEAR(Date) = inputYear and Products.ProductID = inputProductId;
|
||
|
||
select TotalProfit as profit;
|
||
end;
|
||
|
||
2. Виведіть значення процедури для кількох різних параметрів.
|
||
|
||
call GetProfit ("2020", "P1");
|
||
|
||
call GetProfit ("2020", "P2");
|
||
|
||
call GetProfit ("2020", "P3"); |