![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mam procedurę, ktora zmienia mi wartosc pola POLE na 4, ale tylko dla tych rekordów, których mają aktualnie wartosc pola 3.
Teraz przy UPDATE pola wywoluje trigger (before), ktory wykonuje mi powyższą procedurę, ale tylko wowczas, gdy nowa wartosc pola to 3. Czyli defacto nie ma zapętlenia żadnego, jednak oracle nie pozwala na takie numery. Czy mozna jakos trigger wywolac by lał na to i dzialał? Bo teraz oracle tak jakby podejrzewa ze moze byc zapetlenie, gdyz wywoluje trigger, a w nim wywoluje procedure ktora znowu mi ten sam trigger wzbudza. Jednak ten trigger z procedury nie wywola zadnych zmian, gdyz nowa wartosc pola to 4 nie 3. Jak ktos zalapal oco biega i jakims cudem zna rozwiązanie to bardzo prosze o cynk. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Mam,
tworzysz sobie drugą tabele (która nie zawiera zadnych potrzebnych danych), robisz Triggera że jak zmieni pierwszą to robi jakiś tam bezsensowny UPDATE natej drugiej, i zakladasz drugiego Trigera robiącego UPDATe na pierwszej w momencie UPDATE na tej operacyjnej, Zresztą UPDATE na tej operacyjnej wcale nie musi być bezsensowny, mozesz sobie ustalić jakieś konkretne operacje UPDATE tak aby tabela operacyjna obsługiwała takzeinne tabele (czyli w zalezności od UPDATE rozpoznajesz o ktora tabele ci chodzi) poza tym tabela operacyjna moze byc też czymś w rodzaju historii Ten post edytował php programmer 6.12.2006, 13:59:08 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 00:12 |