First understand, A lot of ; are likely going to be used in the body of created SP.
Now the easier way to think about Delimeter DD (or $$) is think of it as NOT-Delimeting-BY ; Until the entire code is finished then Go-BACK-to-Delimeting-BY ;
The emphasis is on not using ; temporarily.
Hope this helps.