Files
sql_advanced/lab9-12-test/task2.sql
T
Vitalii Litvinchuk 0d93a18aad
Advanced SQL Quality Check / Lint SQL Scripts (push) Failing after 18s
feat: test 9-12
2026-05-06 23:35:17 +03:00

43 lines
2.1 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#####################################################
###################### 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;