Projektowanie triggerów w DBMS MySQL

1. Zalogować się do serwera mysql na użytkownika root i nadać uprawnienia SUPER użytkownikowi twoj_uzytkownik, który będzie się logował lokalnie do serwera.
WAŻNE: SUPER może być nadane tylko dla całego serwera bazy danych.

2. Sprawdzić jakie uprawnienia posiada użytkownik twoj_uzytkownik.
1-1
3. Wylogować się z serwera i zalogować ponownie na użytkownika twoj_uzytkownik i sprawdzić jakie bazy danych są dostępne dla tego użytkownika.
1-31-3-2
4. Utworzyć nową tabelę o nazwie logi, która będzie zawierać pola: id_logu, data_zmiany, id_emp, zmiana (zmodyfikowanie rekordu).
1-5
5. Zaprojektować trigger czyli wyzwalacz o nazwie logowanie, który po każdej modyfikacji danych tabeli emp będzie wpisywał stosowne dane do tabeli logi.
1-5

DELIMITER //
CREATE TRIGGER logowanie
AFTER UPDATE
ON emp FOR EACH ROW BEGIN
	INSERT `logi` (`data_zmiany`, `id_emp`, `zmiana`)
	VALUES (NOW(), OLD.id, 'modyfikacja danych');
END;//
DELIMITER ;

1-6-2

DELIMITER //
CREATE TRIGGER logowanie_nowosci
AFTER INSERT
ON emp FOR EACH ROW BEGIN
	INSERT `logi` (`data_zmiany`, `id_emp`, `zmiana`)
	VALUES (NOW(), NEW.id, 'dodanie danych');
END;//
DELIMITER ;

 

6. Sprawdzić działanie triggera.
1-61-6-2
UWAGA: aby można było tworzyć triggery, użytkownik musi mieć uprawnienie SUPER. Uprawnienie to nie jest nadawane przy nadawaniu uprawnień przy pomocy ALL PRIVILEGES.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.