Lab 5 magazyny
This commit is contained in:
parent
d2809458d8
commit
654f354fbe
25
lab5.sql
25
lab5.sql
|
@ -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
|
Loading…
Reference in New Issue