отчет. Отчет По дисциплине "Базы данных" Студент гр. Бис1902 Е. Р. Тимохина
Скачать 1.44 Mb.
|
Лабораторная работа №4Создать хранимые процедуры для операции добавления: нового товара рисунок 16; CREATE PROCEDURE new_good(i int,n CHAR(50), e int) begin insert into goods (id_good, name, starting_price) value (i, n, e); end // call new_good(6, 'Товар высший класс', 50000)// select * from goods// Рисунок 16 - хранимая процедура для операции добавления нового товара нового заказа к договору рисунок 17; CREATE PROCEDURE new_contracts(i int, n VARCHAR(45), sd DATE, s VARCHAR(100), fcI INT, ed DATE) begin insert into contracts(id_contract, number, start_date, special,fromClient_id, end_date) value (i, n, sd, s, fcI, ed); end // call new_contracts(7, 'АА-2', '2022-03-03', NULL, 4, NULL)// select * from contracts// Рисунок 17 - хранимая процедура для операции добавления нового заказа к договору **нового договора и заказа к нему рисунок 18,19. CREATE PROCEDURE new_contANDorder(i int, n VARCHAR(45), sd DATE, s VARCHAR(100), fcI INT, ed DATE, ino int, a VARCHAR(45), p int, st VARCHAR(45), fsI int, edo DATE) begin insert into contracts(id_contract, number, start_date, special,fromClient_id, end_date) value (i, n, sd, s, fcI, ed); insert into Neworder(id_Neworder, articule, start_date, prepayment,status, fromContracts_id,fromStaff_id,end_date) value (ino, a, sd, p, st, i,fsI,edo); end // call new_contANDorder(8, 'Z-242', '2022-03-03', NULL, 4, NULL, 15, 'RTX3060', null, null, 2, null)// Рисунок 18 - хранимая процедура для операции добавления нового договора и заказа к нему, таблица договоры Рисунок 19 - хранимая процедура для операции добавления нового договора и заказа к нему, таблица заказы Создать хранимые процедуры для следующих операций: отбор заказов выбранной фирмы с итоговой суммой по каждому заказу рисунок 20; CREATE PROCEDURE sum_orderCont(i VARCHAR(100)) begin SELECT n.articule, sum(gin.application_price * gin.quantity) as suma FROM client as c join contracts as ct on (ct.fromClient_id = c.id_client) join Neworder as n on (ct.id_contract = n.fromContracts_id ) join goods_in_Neworder as gin on (n.id_Neworder = gin.fromNeworder_id) WHERE c.name like i group by n.articule; end // call sum_orderCont("Гонцов Бистров")// Рисунок 20 - отбор заказов выбранной фирмы с итоговой суммой по каждому заказу отбор заказов, не выполненных на определенную дату рисунок 21; CREATE PROCEDURE order_notend(i date) begin SELECT articule, status, end_date from Neworder where status not like "завершен" and end_date like i; end // call order_notend ("2022-04-28")// Рисунок 21 - отбор заказов, не выполненных на определенную дату определение объемов продаж указанного товара рисунок 22; CREATE PROCEDURE sum_good(i VARCHAR(45)) begin SELECT g.name, sum(gin.quantity) from goods as g join goods_in_Neworder as gin on (gin.fromGoods_id = g.id_good) where name like i; end // call sum_good ("Отличный товар")// Рисунок 22 - определение объемов продаж указанного товара расчет сумм, полученных по выбранному договору рисунок 23; CREATE PROCEDURE sum_order(i VARCHAR(45) ) begin SELECT n.articule, sum(gin.application_price * gin.quantity) as suma from contracts as c join Neworder as n on (c.id_contract = n.fromContracts_id) join goods_in_Neworder as gin on (n.id_Neworder = gin.fromNeworder_id) WHERE c.number like i group by n.articule union SELECT "Итого",sum(gin.application_price * gin.quantity) as suma from contracts as c join Neworder as n on (c.id_contract = n.fromContracts_id) join goods_in_Neworder as gin on (n.id_Neworder = gin.fromNeworder_id) WHERE c.number like "С-234"; end // call sum_order("С-234")// Рисунок 23 - расчет сумм, полученных по выбранному договору формирование списка доставок на указанную дату рисунок 24. CREATE PROCEDURE list_delivr(i date) begin SELECT date_sended, number, address from delivery WHERE date_sended like i; end // call list_delivr("2022-03-07")// Рисунок 24 - формирование списка доставок на указанную дату |