Arthur Daniels shows that multi-statement stored procedures can have multiple entries in the plan cache:
So we have two entries for this stored procedure. I included the statement sql handle to show that each statement handle has its own text. Let’s parse that text to see each statement. I copied the parsing SQL from this Plan Cache article.
This is a good thing to keep in mind if you’re trying to figure out how often a procedure gets called:
SUM on the execution counts grouped only by text might not give you the results you expect.