|
|
|
Trigger->Stored Proc->Trigger. Не работает.
|
|||
|---|---|---|---|
|
#18+
Имеется таблица договоров. В before update триггере производится дополнительный пересчет полей: .... IF ((NEW.PAYSUMM <> OLD.PAYSUMM) OR (NEW.PNGRPERCENT <> OLD.PNGRPERCENT)) then begin NEW.PAYNGRSUMM = (NEW.PAYSUMM * (NEW.PNGRPERCENT / 100)); NEW.PAYMEDSUMM = (NEW.PAYSUMM - NEW.PAYNGRSUMM); end Имеется таблица платежей в триггерах которой вызывается StroredProc для изменения оплаченной суммы в договоре. Например для Insert ....... execute procedure UPDATE_CLIPAY NEW.CLIDOGID, 0.00, NEW.PAYSUMM ; В StoredProc прописано изменение общей суммы платежа: UPDATE CLIDOGS SET CLIDOGS.PAYSUMM = :CURSUMM + :NEWSUMM - :OLDSUMM WHERE CLIDOGS.CLIDOGID = :CLIDOGID; Так вот, когда мы вносим (изменяем, удаляем) новый платеж, поле PAYSUMM в CLIDOGS изменяется, но дополнительные поля не пересчитываются. То есть триггер на Update не срабатывает, хотя сам Update вроде бы имеет место. В чем дело, подскажите!!! Стоит FireBird 1.5 RC3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2003, 11:51 |
|
||
|
Trigger->Stored Proc->Trigger. Не работает.
|
|||
|---|---|---|---|
|
#18+
Когда модифицируется триггер что бы он заработал нужен дисконнект/коннект что бы он заработал и так после каждой перекомпиляции. Метаданные триггеров загружаются именно при коннекте и остаются неизменные до следующего коннекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2003, 12:32 |
|
||
|
Trigger->Stored Proc->Trigger. Не работает.
|
|||
|---|---|---|---|
|
#18+
Триггеры и ХП точно работают. Если изменяем поле Paysumm в Clidogs - срабатывает Update Trigger и разносит сумму по полям. Если вносим запись в CliPay - срабатывает трииггер и ХП, которая изменяет поле PaySumm в CliDogs. Но при этом не срабатывает Update Trigger, который разносит эту сумму по полям. То есть при прямой модификации таблицы триггер срабатывает, а при такой же модификации из ХП - не срабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2003, 09:55 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1580315]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
393ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 691ms |

| 0 / 0 |
