• To add one more of the same opinion: triggers have a place, usually for data auditing. I've also used them to enforce a low-level type of referential integrity that can't be enforced through standard methods (for example, a job is inactivated, firing a trigger that inactivates all the children). They must be written to accomodate set-based queries. If it can only handle a change caused by a single row, then it should be re-written.