Wypożyczenie w transakcji
Treść zadania
Uczeń o identyfikatorze 7 wypożycza książkę o identyfikatorze 23 w dniu 4 listopada 2026. Termin zwrotu przypada na 18 listopada 2026, a wypożyczenie obsługuje pracownik numer 2.
Wykonaj dwie operacje w jednej transakcji: dodaj wiersz do tabeli wypozyczenia oraz zmniejsz o 1 kolumnę stan książki o identyfikatorze 23 w tabeli ksiazki. Transakcję rozpocznij poleceniem START TRANSACTION i zakończ poleceniem COMMIT. Nie zmieniaj innych książek ani pól wypożyczenia, które mają wartości domyślne.
Co będzie oceniane
- Dodano dokładnie jedno wypożyczenie z poprawnymi identyfikatorami ucznia, książki i pracownika.
- Data wypożyczenia i termin zwrotu są zgodne z poleceniem.
- Stan książki numer 23 został zmniejszony o dokładnie 1.
- Obie operacje znajdują się w jednej transakcji zakończonej COMMIT.
- Kod uruchamia się bez błędu i przechodzi wszystkie testy automatyczne.
Testy automatyczne (1)
- Wypożyczenie i zmniejszony stan w jednej transakcji
Zaliczenie: wszystkie testy muszą przejść. Testy uruchamia się przyciskiem „Sprawdź testy” pod kodem.
START TRANSACTION;
-- Dodaj wypożyczenie
INSERT INTO wypozyczenia (...)
VALUES (...);
-- Zmniejsz stan książki
UPDATE ksiazki ...;
COMMIT;
Wskazówki
Wskazówka 1
W tabeli wypozyczenia podaj kolumny uczen_id, ksiazka_id, pracownik_id, data_wypozyczenia i termin_zwrotu. Status i kara przyjmą wartości domyślne.
Wskazówka 2
Drugie polecenie to UPDATE ksiazki SET stan = stan - 1 WHERE id = 23;. Umieść je między START TRANSACTION a COMMIT, aby oba kroki tworzyły całość.