А, аргументы не дописал. Вот заново:

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

2) Нарушено единообразие написания триггеров. В триггерах для таблиц не нужно писать дополнительных команд, а в триггерах для представлений нужно. Дополнительные команды легко можно забыть написать. Это является потенциальным источником ошибок, потому плохо.

3) Некоторым не нужно отключать стандартные операции. Щас это невозможно сделать без ручного труда, что создаёт дискомфорт и является дополнительным потенциальным источником ошибок, потому это плохо.

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


PS Про то что программирование является потенциальным источником ошибок я пожалуй догадываюсь.

Ответить