Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: niechciana rekurencja triggera
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
php programmer
Witam,
mam dziwny problem z TRIGGEREM,
otóż dla pewnej tabeli założyłem triggera, na akcję AFTER UPDATE,
który wykonuje update na tej tabeli, co powoduje,
że w kółko wykonuje się ten TRIGGER,
czy da się to jakoś obejść? Pytanie retoryczne,
bo pewnie się da, tylko jak to zrobić?
dr_bonzo
Da sie smile.gif
Tylko pokaz kod i powiedz co chciales osiagnac.
php programmer
Cytat
Tylko pokaz kod i powiedz co chciales osiagnac


Myślałem raczejczy jest jakiś sposób, aby
zablokować triggera dla danego update,
np zeby update wykonywany wewnątrz triggera
nie powodował wyzwalanie się triggera
dr_bonzo
Cytat
If a trigger function executes SQL commands then these commands may fire triggers again. This is known as cascading triggers. There is no direct limitation on the number of cascade levels. It is possible for cascades to cause a recursive invocation of the same trigger; for example, an INSERT trigger might execute a command that inserts an additional row into the same table, causing the INSERT trigger to be fired again.


http://www.postgresql.org/docs/8.1/static/triggers.html

Wydaje mi sie ze zle to zaplanowales. Moze opisz co chcesz zrobic tym triggerem po updacie rekordu. Updatujesz w nim ten sam rekord czy jakis inny?
php programmer
Już sobie poradziłem,
problem był trochę bardziej złożony,
w skrócie:
miałem w php update,
w pg miałem triggera na updatewewnątrz którego było polecenie update
wszystko dotyczy jeden tabeli, okazało się jeszcze, że gdzieś z boku miałem
jeszczejeddengo triggera na update, co jeszcze bardziej skomplikowało sprawę,
poradziłem sobie wprowadzając różne warunki IF'ami
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.