Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trigger do śledzenia zmian w tabeli
czaja_
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.10.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.

Ten post edytował wookieb 16.10.2008, 10:34:27


--------------------
Go to the top of the page
+Quote Post
czaja_
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 11.10.2007

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tak. Ale nie widze sensu przechowywania tego w innej tabeli. Wystarczy w samej funkcji.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:02