Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Trigger do śledzenia zmian w tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
czaja_
Witam,
mam działający prototyp triggera na danej tabeli, obsługuje on tylko dwa pola (a jest ich bardzo dużo):

BEGIN
if(old.utworzyl!=new.utworzyl) then
insert into arkusze_dziennik set pole="utworzyl";
end if;
if(old.nazwa!=new.nazwa) then
insert into arkusze_dziennik set pole="nazwa";
end if;
END

Jak go zmodyfikowac żeby nie pisac dla każdego pola osobnego warunku if ... edn if
a do tabeli "arkusz_dziennik" zapisywac informacje tylko o tych polach które zostały zmodyfikowane ?

Pozdrawiam
Marek
wookieb
Nie da sie inaczej. Tak musi byc.
No chyba ze w tabeli zapisujesz sobie klucze i petla sprawdzasz podane klucze. Jednakze nie znam tak bardzo dobrze plgsql zeby ci dac przyklad.
czaja_
Cytat(wookieb @ 16.10.2008, 11:16:25 ) *
Nie da sie inaczej. Tak musi byc.
No chyba ze w tabeli zapisujesz sobie klucze i petla sprawdzasz podane klucze. Jednakze nie znam tak bardzo dobrze plgsql zeby ci dac przyklad.


Czy chodzi Ci o listę sprawdzanych pól przechowywaną w innej tabeli i petle w triggerze która korzysta z tej listy do sprawdzenia zmian ?
wookieb
Tak. Ale nie widze sensu przechowywania tego w innej tabeli. Wystarczy w samej funkcji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.