Files
sql_advanced/lab2-3/task3.sql
T
Vitalii Litvinchuk 6deed0469a first commit
2026-05-04 23:15:09 +03:00

80 lines
2.2 KiB
SQL
Executable File

use OrdersDB;
-- 3.1
-- Додайте у таблицю Salespeople себе у якості продавця
-- Додайте у таблицю Customers двох своїх напарників у якості
-- Ваших клієнтів Додайте дві угоди у таблицю Orders (
-- по одній для кожного з Ваших клієнтів
-- )
insert into
Salespeople (snum, sname, city, comm)
values (
1111,
'Vitalii',
'Zdolbuniv',
0.11
);
insert into
Customers (
cnum,
cname,
city,
rating,
snum
)
values (
2009,
'Oleg',
'Ostroh',
100,
1111
),
(
2010,
'Poman',
'Ostroh',
200,
1111
);
insert into
Orders (onum, amt, odate, cnum, snum)
values (
3012,
1000,
'2026-03-19',
2009,
1111
),
(
3013,
2000,
'2026-03-19',
2010,
1111
);
-- 3.2
-- Накладіть додаткові обмеження на зовнішні ключі snum у таблицях Customers та Orders: ON DELETE CASCADE ON UPDATE CASCADE
-- Спробуйте змінити для себе у таблиці Salespeople значення snum, збільшивши його на 1
-- перевірте чи з'явилися відповідні зміни у таблицях Customers та Orders
-- Спробуйте видалити свій запис продавця у таблиці Salespeople
-- перевірте чи спрацювало каскадне видалення пов'язаних записів у таблицях Customers та Orders
alter table Customers drop constraint Customers_ibfk_1;
alter table Orders drop constraint Orders_ibfk_1;
alter table Customers
add constraint Customers_ibfk_1 foreign key (snum) references Salespeople (snum) on delete cascade on update cascade;
alter table Orders
add constraint Orders_ibfk_1 foreign key (snum) references Salespeople (snum) on delete cascade on update cascade;
update Customers set snum = 1112 where snum = 1111;
update Orders set snum = 1112 where snum = 1111;
delete from Salespeople where snum = 1112;