Trigger before delete - ORA-04088 |
Trigger before delete - ORA-04088 |
19.07.2013, 10:03:58
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! |
|
|
19.07.2013, 11:29:54
Post
#2
|
|
Grupa: Zarejestrowani Postów: 153 Pomógł: 41 Dołączył: 28.06.2011 Skąd: Częstochowa Ostrzeżenie: (0%) |
|
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 12:12 |