триггеры, превращающие
необновляемое view в обновляемое всегда были только before.
after для таких view - это просто дополнительное действие.

Нет нет нет и нет. Это на самом деле не так. Я вам уже писал - повесьте триггер на AFTER и он отменит операцию.

Исходя из этого почему я могу сделать в триггере BEFORE

INSERT INTO TABLE ... RETURNING ID INTO NEW.ID

а в триггере AFTER не могу. Повторяю, они оба отменяют стандартное поведение, оба!!!


я еще раз объясняю. что фактически все это работает именно так
уже примерно 15 лет, как минимум.

Недавно менялось с отменой автоматического действия.

Никто менять здесь ничего не будет. instead of МОЖНО сделать, например как синоним к before insert для view.

Да не синоним это. Это другой вид триггера. Его отличительная особенность в том что:

1) Он может быть один единственный
2) Именно он определяет момент когда происходит суть команды

только вопрос - зачем? Только потому что некий Саша запутался,
и вместо before стал писать after, причем стал писать там то, что ЗАПРЕЩЕНО?

Ничё я не запутался. Я всё прекрасно понимаю как оно работает.

Зачем менять - потому что оно концептуально неправильно сделано.

Ответить