I'll have to disagree
with the many objections and agree
with the original question (now that
is uncommon for me!). Though the explanation is confusing, misleading, and maybe even wrong, the answer is, in fact, correct.
The explanation that CLR doesn't count as a seperate category because they can also be used as DDL triggers is of course utter ****. No arguing there. However, that doesn't make it a seperate category. It's just a different language
to code a trigger in. So we have two categories: AFTER triggers (which may also be defined by using the keyword FOR instead of AFTER), which can be coded in either T-SQL or in .Net, and INSTEAD OF triggers, which also can be coded in either T-SQL or in .Net.
If you want to consider CLR triggers a seperate category, fine - but then the total immediately bumps to four, because you then still have to distinguish CLR INSTEAD OF triggers from CLR AFTER triggers. There was no answer option including these two types of triggers, so it was clear that the "type" did not refer to the language.
Everyone arguing that "CLR triggers" is in itself a single type of trigger is just wrong. So there, I've said it - let the flaming commence!
Hugo Kornelis, SQL Server MVP
Visit my SQL Server blog: http://sqlblog.com/blogs/hugo_kornelis