Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 16.10.2021 18:20

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 20.04.2021 18:28 
Не в сети

Зарегистрирован: 24.06.2020 11:39
Сообщения: 26
Здравствуйте,

У меня возник вопрос. В чём разница между "при изменении/добавлении/удалении" и "после изменении/добавлении/удалении"
То есть если будет если "При" то текущий <ID> новой добавленной записи я не смогу поймать, а "После" получается (после добавления) я уже поймаю <ID> добавленной записи?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20.04.2021 22:09 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3827
Откуда: Санкт-Петербург
В большинстве случаев надо использовать "ПРИ".
А "после изменении/добавлении/удалении" было сделано давным давно для того, чтобы после операции модификации данных считать итоговую сумму по нескольким записям, вне зависимости от связи с текущей записью. Ссылку на <ID> в триггере "после" использовать нельзя, т.к. текущая запись уже другая.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20.04.2021 22:14 
Не в сети

Зарегистрирован: 24.06.2020 11:39
Сообщения: 26
Ivan писал(а):
В большинстве случаев надо использовать "ПРИ".
А "после изменении/добавлении/удалении" давно было сделано для того, чтобы после операций считать итоговую сумму.
Ссылку на <ID> в триггере "после" использовать нельзя, т.к. текущая запись уже другая.


То есть верно ли я понимаю, что когда "При", тогда указатель временно стоит текущей записи, с которой я работаю, а когда "После" - указатель может стоять на другой записи, которая была до этого или что то в этом роде? (Как вариант - моя запись скрылась из виду из-за фильтров)

Какие преимущества тогда даёт нам "после"?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20.04.2021 23:09 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3827
Откуда: Санкт-Петербург
Да, все так.
ПОСЛЕ добавления записи в подчиненную таблицу может выполняться триггер, меняющий общую сумму в главной таблице типа UPDATE tblSales SET TotalAmount = (select SUM... from tblSub where ForeignKeyID = <tblMain>.<ID>)

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB