When you create a trigger in SQL Server, you have the option of firing it in conjunction with the triggering statement (i.e. the SQL statement that fired the trigger), or firing it instead of that statement.
To fire the trigger instead of the triggering statement, use INSTEAD OF
argument.
This is in contrast to using the FOR
or AFTER
arguments. When you use those arguments, the trigger fires only when all operations specified in the triggering SQL statement have launched successfully.