очень трудно понять, почему new не работает в after, и работает в before?

Не, хоть убейте. Для таблиц понятно, для представлений нет. Без операции по умолчанию или триггера INSTEAD OF я не понимаю что такое BEFORE и AFTER для представления. Никак не понимаю.

view это запрос. в отличие от таблицы. Поэтому перекрывая ОБНОВЛЯЕМОЕ
view триггером ты перекрываешь операцию обновления полностью.
Это удобно и замечательно.

Это вы факт констатируете. А чем не удобно когда есть три вида триггеров: BEFORE / INSTEAD OF / AFTER, каждыйй из которых делает то что ему положено делать?

Особенно с учетом того, что чаще встречаются НЕОБНОВЛЯЕМЫЕ автоматически
view, чем обновляемые.

Это у кого как.

нынешнее поведение на 100% соответствует документации. Аминь.

Так если чё в документации описано, так что, нельзя обсудить/поменять?


4) Заявлено что триггеры на представления несут логику INSTEAD OF триггеров. В триггере AFTER INSERT невозможно присвоить значение переменной NEW.XXX. Это баг, поэтому плохо.

это чушь. after-триггеры это всегда ПОСТ-триггеры. где что для
таблиц что для view можно менять данные ДРУГИХ таблиц, но никак
не той же самой таблицы.
Раньше new в after допускалось, но НИ К ЧЕМУ не приводило.
Теперь запрещено, и это правильно.


Ответить