This question has been asked before but it all involved using \"go\" which I am not in need of here, at least I believe so.
I am following this tut https://www.youtu
If you want to keep the script as it is (select followed by a create procedure), you can construct the creation of the stored procedure in a NVARCHAR and EXECUTE it using sp_executesql. This way the CREATE statement is the first statement. Like this:
Select * From Snacks
EXECUTE sp_executesql N'
Create Proc spGetSnackByID
@Id int
as
Begin
Select Id, Name, Location
from Snacks where Id = @Id
End
';