|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
Здравствуйте. Как в триггере на Update изменить значение поля записи, которая изменяется? Если делать так, то происходит блокировка Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 11:16 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 Как в триггере на Update изменить значение поля записи, которая изменяется? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 11:29 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
Я делал такой триггер Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 11:36 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 Если делать так, то происходит блокировка ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 12:52 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
Нет в таблице t_g_counting_denom поле id первичный ключ. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 13:47 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 Я делал такой триггер Код: sql 1. 2. 3.
или запрети рекурсивный вызов триггеров или проверку в начале триггера на то, что обновляется только поле flschet1 и выход (но это из разряда "плохих советов" :) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 14:21 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 Нет в таблице t_g_counting_denom поле id первичный ключ. roma1975 Если делать так, то происходит блокировка ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2019, 16:58 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
И какой же должен быть триггер? Этот триггер тоже приводит к блокировке записей Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 08:55 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
То есть выходит ошибка параллелизма, что-типа задействовано 1 или более записи, которые уже обновляются. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 08:57 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
И при чем здесь id если мы обновляем записи и в триггере некорректно обновляются эти же записи? Как же правильно написать корректное обновление? В oracle сделали просто присвоил new.fl значение и не надо парится, а здесь чего-то непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 09:01 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 То есть выходит ошибка параллелизма, что-типа задействовано 1 или более записи, которые уже обновляются. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 09:42 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 В oracle сделали просто присвоил new.fl значение и не надо парится, а здесь чего-то непонятно. roma1975 Этот триггер тоже приводит к блокировке записей Вы для начала ошибку приведите. Вы сделали некий запрос, он привёл к ошибке, вот вы и скопируйте сюда и запрос, и ошибку. roma1975 Код: sql 1.
Как правильно переписать, я вам уже сказал. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 09:48 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 И при чем здесь id если мы обновляем записи и в триггере некорректно обновляются эти же записи? Как же правильно написать корректное обновление? В oracle сделали просто присвоил new.fl значение и не надо парится, а здесь чего-то непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 09:49 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
Ошибка такая: Нарушение параллелизма: Код: sql 1.
Структура таблицы Код: 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.
Триггер такой Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
запрос приводящий к ошибке(он в триггере) update [dbo].[t_g_counting_denom] set flschet1=isnull(flschet1,0)+1 where id_card in (select id_card from inserted) and source in (select source from inserted) без триггера программа работает нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 09:57 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 Код: sql 1.
Вы точно скопировали текст? Это вообще похоже на ошибку клиентского приложения, и к работе триггера отношения не имеет. Что не значит, что триггер у вас правильный - в нём всё равно ошибки. roma1975 update [dbo].[t_g_counting_denom] set flschet1=isnull(flschet1,0)+1 where id_card in (select id_card from inserted) and source in (select source from inserted) У вас же показывается ошибка при каких то обновлениях таблицы? Вы делаете update, триггер срабатывает, и сиквел возвращает ошибку. Вот и нужно скопировать сюда этот апдэйт и эту ошибку. Ошибка начинается со строки: Msg 12345, Level 16, State 1, Line 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 10:16 |
|
Триггер на обновление изменяющегося поля
|
|||
---|---|---|---|
#18+
roma1975 Триггер такой Код: sql 1. 2. 3.
Просто этот триггер отменяет апдэйт таблицы, она вообще теперь у вас не обновляется. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2019, 10:18 |
|
|
start [/forum/topic.php?fid=46&fpage=77&tid=1686798]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 330ms |
total: | 465ms |
0 / 0 |