![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 2.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, czy możecie sprawdzić poprawność zapytania do poniższego taska?
Jeśli coś jeszcze źle to moglibyście poprawić? Niestety nie mam obecnie jak tego sprawdzić bo sprzęt mi padł i pozostał tylko smartphone ![]() W pewnej bazie danych istnieją tabele: DOCHOD (nr_tem, nr_prac, kwota, data), TEMAT (nr_tem, nazwatemat, nrp_kt). Utworzyć trigger, który w przypadku aktualizacji (poleceniem UPDATE) kolumny nr_tem tabeli TEMAT zaktualizuje również odpowiednie wartości kolumny nr_tem w tabeli DOCHOD, a w przypadku usunięcia (poleceniem DELETE) z tabeli TEMAT tematu, w którym wypłacono już jakieś kwoty – zgłosi wyjątek z komunikatem „nie można usunąć wcześniej realizowanego tematu”. DELIMITER // CREATE TRIGGER trig_tem1 BEFORE UPDATE ON `temat` FOR EACH ROW SET @x = SELECT nr_tem FROM dochod WHERE DATE(data) < CURDATE(); BEGIN IF NEW.nr_tem == x THEN CALL raise_application_error(3001, 'nie można usunąć wcześniej realizowanego tematu'); ELSE UPDATE dochod SET nr_tem = NEW.nr_tem WHERE nr_tem = OLD.nr_tem; END IF; END;// DELIMITER ; |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 00:49 |