SQL Server SELECIONAR EM @ variável?

Eu tenho o seguinte código em um dos meus Sql (2008) Stored Procs que executa perfeitamente:

    CREATE PROCEDURE [dbo].[Item_AddItem]
        @CustomerId uniqueidentifier,
        @Description nvarchar(100),
        @Type int,
        @Username nvarchar(100),
    AS
    BEGIN

        DECLARE @TopRelatedItemId uniqueidentifier;
        SET @TopRelatedItemId = 
        (
           SELECT top(1) RelatedItemId 
           FROM RelatedItems 
           WHERE CustomerId = @CustomerId
        ) 

        DECLARE @TempItem TABLE
        (
            ItemId uniqueidentifier,
            CustomerId uniqueidentifier,
            Description nvarchar(100),
            Type int,
            Username nvarchar(100),
            TimeStamp datetime
        );

        INSERT INTO Item
        OUTPUT INSERTED.* INTO @TempItem
        SELECT NEWID(), @CustomerId, @Description, @Type, @Username, GETDATE()

        SELECT
            ItemId,
            CustomerId,
            @TopRelatedItemId,
            Description,
            Type,
            Username,
            TimeStamp
        FROM
            @TempItem
END
GO

Portanto, a pergunta para vocês é que existe a possibilidade de fazer algo como:

DECLARE @TempCustomer TABLE
(
   CustomerId uniqueidentifier,
   FirstName nvarchar(100),
   LastName nvarchar(100),
   Email nvarchar(100)
);
SELECT 
    CustomerId, 
    FirstName, 
    LastName, 
    Email 
INTO 
    @TempCustomer 
FROM 
    Customer
WHERE 
    CustomerId = @CustomerId

Para que eu pudesse reutilizar esses dados da memória em outras declarações a seguir? O SQL Server se encaixa com a instrução acima, no entanto, não quero criar variáveis separadas e inicializar cada uma delas por meio de uma instrução SELECT separada na mesma tabela ... UGH !!!

Alguma sugestão sobre como conseguir algo nesse sentido sem várias consultas na mesma tabela?

questionAnswers(6)

yourAnswerToTheQuestion