![]() |
![]() |
![]()
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: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@KILIUSZKIN a wiesz że juz to probowalem zrobic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
ale cos mnie nie wychodzilo (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) albo ja tylko sie przymierzalem by to zrobic ale nie zdązylem bo zasnalem.... albo jedno albo drugie. tak czy siak pokasowalem juz te triggery i procedury i niechce mi sie juz do tego wracac. edit: aczkolwiek sprawdź tak jak mowiles. jesli ci to zadziala to napewno sie przyda na przyszlosc. Ale czy to rozwiązanie nie niesie pewnego ryzyka? Gdy procedura wywali blad, wowczas linijki z enable nie wykona sie. Mozna by ewentualnie wychwytywac wyjatek i po wychwyceniu wykonac enable i potem przekazac dalej ten wyjatek |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 03:21 |