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 ;