sasha wrote:
1) Язык SQL - он как бейсик. Он для написания команд на английском
языке. Если читать команду и не знать ньюансов, то логика будет понята
неправильно. Т.е. когда человек читает слово BEFORE/AFTER INSERT, то он
что думает? Что этот триггер выполнится ДО или ПОСЛЕ, а никак не ВМЕСТО.
Вот скажи мне, если человек видит BEFORE INSERT, но не видит тела вьюхи,
какое предположение он должен сделать? По твоей логике, что сработает
как триггер, так и вставка. Но если вьюха не тривиальная (джойны,
агрегаты, юнионы), то в нее вставку сервер не может сделать. Никогда.
Принципиально. Но юзер, тупо понимающий только англицкий язык, этого
никогда не узнает. Ну и кто тут буратино?
4) Заявлено что триггеры на представления несут логику INSTEAD OF
Где заявлено?
триггеров. В триггере AFTER INSERT невозможно присвоить значение
переменной NEW.XXX. Это баг, поэтому плохо.
Бред. В триггере AFTER INSERT для таблицы тоже нельзя присвоить в NEW,
так что нарушения нет. В триггере INSTEAD OF изменять таблицу можно
только update-ом, так что снова мимо кассы.
--
Дмитрий Еманов
- Re: Вопрос по триггерам на представления Dmitry Yemanov
-