Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
26.10.2019, 11:13
|
|||
---|---|---|---|
|
|||
[PG12] Поведение триггера |
|||
#18+
Сделал триггер AFTER INSERT. Но в функции вызова была ошибка при исполнении, с удивлением увидел, что данные не добавились. Это нормальная ситуация? В других СУБД в триггерах BEFORE да, записи не вставлялись, а AFTER даже если и с ошибкой отрабатывалось, но уже когда вставка произошла, т.е. потерь данных не было. И триггер вызывается на подписчике таблицы логической репликации если это важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.10.2019, 11:22
|
|||
---|---|---|---|
[PG12] Поведение триггера |
|||
#18+
TrogloditВ других СУБД в триггерах BEFORE да, записи не вставлялись, а AFTER даже если и с ошибкой отрабатывалось, но уже когда вставка произошла Странные субд. А можно поимённо? insert = транзакция. Ошибка в любом месте транзакции = откат транзакции. Так и должно быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.10.2019, 11:51
|
|||
---|---|---|---|
|
|||
[PG12] Поведение триггера |
|||
#18+
Melkij, Я почему то считал, что триггер AFTER срабатывает после завершения insert в ДРУГОЙ транзакции, отсюда и вопрос был, я был уверен, что раньше это уже наблюдал. Вопрос снимается. Спасибо за ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1994982]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 138ms |
0 / 0 |