Triggers, like stored procedures, return the result set generated by any SELECT statements in the trigger. Triggers execute after the statement that triggered them completes.
When a stored procedure or trigger is first executed, the source is compiled into an execution plan. If the stored procedure or trigger is again executed before the execution plan is aged from memory, the relational engine detects the existing plan and reuses it. If the plan has aged out of memory, a new plan is built.