I have the following code in one of my Sql (2008) Stored Procs which executes perfectly fine:
CREATE PROCEDURE [dbo].[Item_AddItem] @CustomerId u
"SELECT * INTO @TempCustomer FROM Customer WHERE CustomerId = @CustomerId"
Which means creating a new @tempCustomer tablevariable and inserting data FROM Customer. You had already declared it above so no need of again declaring. Better to go with
@tempCustomer
INSERT INTO @tempCustomer SELECT * FROM Customer