Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
12.05.2021, 10:48
|
|||
---|---|---|---|
|
|||
триггер update поля на update поля в той же таблице |
|||
#18+
Подскажите, пожалуйста, есть такая задача: при смене поля Status в таблице, надо сбросить поле флаг IsNewMessage в этой же таблице. Получился такой триггер: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Достаточно ли такого join-а с deleted или надо что-то типа Код: sql 1. 2. 3. 4.
Будет ли такой триггер работать, если сразу будут апдейтиться несколько записей в таблице? Не будет ли зацикливания вызова триггера из-за того, что апдейтится одна и та же таблица? Заранее спасибо за ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2021, 11:30
|
|||
---|---|---|---|
триггер update поля на update поля в той же таблице |
|||
#18+
lsk Не будет ли зацикливания вызова триггера из-за того, что апдейтится одна и та же таблица? выполни и посмотри Код: sql 1.
пс нуу и у тебя же есть проверка IF UPDATE(Status) так, что даже если nested triggers = 1, то на втором вызове триггера, рекурсия "закончится" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2021, 11:36
|
|||
---|---|---|---|
триггер update поля на update поля в той же таблице |
|||
#18+
lsk Достаточно ли такого join-а с deleted или надо что-то типа Код: sql 1. 2. 3. 4.
Код: sql 1.
т.е. даже если фактического изменения нет ... нуу и, надеюсь, что Status у тебя NOT NULL ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2021, 11:40
|
|||
---|---|---|---|
|
|||
триггер update поля на update поля в той же таблице |
|||
#18+
lsk, Код: sql 1. 2. 3. 4. 5. 6.
Этого должно быть достаточно, т.к. такой триггер вызывается после изменения данных; соотв-но, данные в inserted будут совпадать с таблицей. Условие обновления лучше перенести из WHERE в CASE, если Status может быть NULL. Если же у вас это поле NOT NULL, то можно выкинуть case и сделать where как у вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2021, 11:56
|
|||
---|---|---|---|
|
|||
триггер update поля на update поля в той же таблице |
|||
#18+
Спасибо всем большое за ответы, теперь окончательно разобрался. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.05.2021, 12:36
|
|||
---|---|---|---|
триггер update поля на update поля в той же таблице |
|||
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1684726]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
154ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 253ms |
0 / 0 |