sasha wrote:

1) Язык SQL - он как бейсик. Он для написания команд на английском языке. Если читать команду и не знать ньюансов, то логика будет понята неправильно. Т.е. когда человек читает слово BEFORE/AFTER INSERT, то он что думает? Что этот триггер выполнится ДО или ПОСЛЕ, а никак не ВМЕСТО.

Вот скажи мне, если человек видит BEFORE INSERT, но не видит тела вьюхи, какое предположение он должен сделать? По твоей логике, что сработает как триггер, так и вставка. Но если вьюха не тривиальная (джойны, агрегаты, юнионы), то в нее вставку сервер не может сделать. Никогда. Принципиально. Но юзер, тупо понимающий только англицкий язык, этого никогда не узнает. Ну и кто тут буратино?

4) Заявлено что триггеры на представления несут логику INSTEAD OF

Где заявлено?

триггеров. В триггере AFTER INSERT невозможно присвоить значение переменной NEW.XXX. Это баг, поэтому плохо.

Бред. В триггере AFTER INSERT для таблицы тоже нельзя присвоить в NEW, так что нарушения нет. В триггере INSTEAD OF изменять таблицу можно только update-ом, так что снова мимо кассы.


--
Дмитрий Еманов

Ответить