![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 3.07.2013 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Próbuję utowrzyć trigger, który przed usunięciem rekordu z tabeli użytkownicy, usunie najpierw rekordy z innych tabel, które korzystają z id_uzytkownika, którego chcę usunąć, jako klucz obcy. Lecz zanim dojdzie do usunięcie rekordów, dane które mają zostać usunięte chce przenieść do tabel, które będą o tym pamiętały :) Mój trigger wygląda następująco (myślę, że nie muszę przedstawiać struktur tabel, na pewno wszystko niezależnie napisane działa poprawnie):
Błąd: ORA-04088: error during execution of trigger 'PROJEKT.USUNIECIE_UZYT_TRIG' 04091. 00000 - "table %s.%s is mutating, trigger/function may not see it" *Cause: A trigger (or a user defined plsql function that is referenced in this statement) attempted to look at (or modify) a table that was in the middle of being modified by the statement which fired it. *Action: Rewrite the trigger (or function) so it does not read that table. Kiedy stworzyłem procedurę, która ma ciało tego triggera, to działała poprawnie, tylko oczywiście za parametr przyjmowała id_uzytkownika, którego chciałem usunąć lecz jego nie usuwała. No ale zależy mi, żeby to był trigger... Proszę o sugestie lub wyjaśnienie problemu. Pozdrawiam! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 153 Pomógł: 41 Dołączył: 28.06.2011 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:57 |