![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 21.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam koledzy.
Mam bazę danych w wersji rozwojowej z n tabelami. Chciałbym napisać uniwersalny mechanizm działający po stronie bazy danych który będzie logował każdą zmianę w każdej tabeli. Wykorzystać do tego chciałbym trigery i funkcje. Na potrzebę logowania chciałbym stworzyć osobną tabelę posiadającą takie kolumny: id, tabela (nazwa tabeli z której pochodzi wpis), typ(insert|update|delete), data(NOW()), log . Mechanizm miałby działać tak że trigery dodawały by do tej tabeli nowy wpis. W kolumnie log chciałbym mieć zapisane najlepiej jak jako ciąg XML wartość logowanego rekordu. Wyobrażam sobie że wyglądało by to tak: <kol1>val1</kol1><kol2>val2</kol2>... gdzie kol1 to nazwa kolumny a val1 to wartość rekordu. Zdecydowałem się na xml, ponieważ potem będzie mi łatwo napisać uniwersalne narzędzie do analizy całego loga. Problem w chwili obecnej mam taki że nie wiem jak zrobić select który zwróci mi zawartość rekordu w postać jakiegoś ciągu xml. Koledzy, proszę napiszcie czy może ktoś ma doświadczenie w takim logowaniu zmian w bazie danych, czy może macie inne sposoby. Chcę uniknąć konieczności zakładania dla kazdej tabeli odpowiadającej jej tabeli loga i pisania dla każdej tabeli osobnej funkcji obsługującej logowanie. Jeżeli coś niedokładnie wyjaśniłem pytajcie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 2 Dołączył: 21.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie o coś takiego mi niestety chodzi.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:05 |