|
Полурабочая процедура Firebird
|
|||
---|---|---|---|
#18+
Доброе время суток. Есть внутрення процедура, которая заполняет поле ACT_PAID (заполняет в двух строках табл. DEVICES ) Код: sql 1. 2. 3. 4. 5. 6. 7.
В которой OUT_ACT_RESULT_PAID = 1 В таблице DEVICES также есть поле DATE_RETURN , а у поля ACT_PAID (которое может быть равно 0 или 1, но сначало оно = 0) есть триггер Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
процедура SP_DATE_RETURN(old.PROPOSAL_ID, null, old.ID, 30); Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64.
где :VAR_ACT_PAID = 1 заполняет поле DATE_RETURN . Проблема в том, что запрос например (я уже не испольую первую описанную мной вверху процедуру, а заполняю сам) Код: sql 1. 2. 3.
с одним ID = 127 – работает , поле DATE_RETURN заполняет А запрос Код: sql 1. 2. 3.
не заполняет ни одного DATE_RETURN , хотя в этом случае заполняться должна строка только с ID=127, т.к. для ID=129 не подходит условие if (not :VAR_DEV_FROM_CLIENT_DATE is null) then В чем может быть ошибка? Заранее спасибо за ответ. P.S. - Конечно есть подозрение, что когда обновляется несколько строк, треггер вызывается только один раз, и с праметрами строки с ID=129, при которой поле DATE_RETURN заполняться не должно ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2019, 21:34 |
|
|
start [/forum/topic.php?fid=40&fpage=23&tid=1560684]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 22ms |
total: | 144ms |
0 / 0 |