43 lines
2.1 KiB
SQL
43 lines
2.1 KiB
SQL
#####################################################
|
||
###################### Task 2: ##################
|
||
1. Створіть збережену процедуру EvaluateProduct, яка дозволить у якості трьох вихідних параметрів
|
||
вивести загальну кількість товарів, проданих протягом 2020, 2021, 2022 років відповідно для продукту,
|
||
ідентифікатор якого вказує користувач в якості вхідного пераметра процедури.
|
||
2. Викличте процедуру вказавши в якості вхідного параметра "P1" та вивівши вихідні параметри у змінні
|
||
3. Відобразіть значення змінних з допомогою SELECT.
|
||
4. Спробуйте інші вхідні параметри.
|
||
На знімку екрана нижче показано загальну кількість товарів, проданих упродовж 2020, 2021, 2022 років
|
||
для продукту з ідентифікатором "P1":
|
||
https://drive.google.com/open?id=18QndcPAEP6PRhUSI16h_MYx8FAWcM7r_&usp=drive_fs
|
||
|
||
output table:
|
||
@Sold_Items_2020 | @Sold_Items_2021 | @Sold_Items_2022
|
||
value1 | value2 | value3
|
||
|
||
drop procedure EvaluateProduct;
|
||
|
||
create procedure EvaluateProduct(in product_id varchar(10), out sold_2020 int, out sold_2021 int, out sold_2022 int)
|
||
begin
|
||
select sum(Quantity) into sold_2020
|
||
from Orders
|
||
where ProductID = product_id and year(Date) = 2020;
|
||
|
||
select sum(Quantity) into sold_2021
|
||
from Orders
|
||
where ProductID = product_id and year(Date) = 2021;
|
||
|
||
select sum(Quantity) into sold_2022
|
||
from Orders
|
||
where ProductID = product_id and year(Date) = 2022;
|
||
end;
|
||
|
||
set @Sold_Items_2020 = 0, @Sold_Items_2021 = 0, @Sold_Items_2022 = 0;
|
||
|
||
call EvaluateProduct (
|
||
'P2',
|
||
@Sold_Items_2020,
|
||
@Sold_Items_2021,
|
||
@Sold_Items_2022
|
||
);
|
||
|
||
select @Sold_Items_2020, @Sold_Items_2021, @Sold_Items_2022; |