Lab 5 magazyny

This commit is contained in:
Aelita4 2022-12-06 10:17:16 +01:00
parent d2809458d8
commit 654f354fbe
Signed by: Aelita4
GPG Key ID: C217320B9C5FD53B
1 changed files with 26 additions and 1 deletions

View File

@ -191,3 +191,28 @@ SELECT * FROM REJESTR
SELECT * FROM PRACOWNICY SELECT * FROM PRACOWNICY
DELETE FROM PRACOWNICY WHERE IDENTYFIKATOR=17 DELETE FROM PRACOWNICY WHERE IDENTYFIKATOR=17
-- 7. Korzystając z tabeli produkty stwórz transakcję, która przeniesie wszystkie
-- produkty z magazynu nr 1 do magazynu nr 2. Maksymalna pojemność magazynu
-- nr 2 wynosi 500. Jeżeli powyższa operacja spowoduje przepełnienie magazynu
-- należy ją wycofać i przenieść produkty do magazynu nr 3.
CREATE TABLE PRODUKTY (
ID_PRODUKT INT IDENTITY(1,1),
ILOSC DECIMAL(8, 2),
NR_MAGAZYNU INT
)
-- ILOSC NR_MAGAZYNU
INSERT INTO PRODUKTY VALUES (250, 1)
INSERT INTO PRODUKTY VALUES (250, 2)
INSERT INTO PRODUKTY VALUES (250, 3)
SELECT * FROM PRODUKTY
BEGIN TRANSACTION zmiana
SAVE TRANSACTION p1
UPDATE PRODUKTY SET NR_MAGAZYNU=2 WHERE NR_MAGAZYNU=1
IF (SELECT sum(ILOSC) FROM PRODUKTY WHERE NR_MAGAZYNU=2) > 500
ROLLBACK TRANSACTION p1
UPDATE PRODUKTY SET NR_MAGAZYNU=3 WHERE NR_MAGAZYNU=1
COMMIT TRANSACTION