Inserir SQL na tabela temporária nos blocos If e Else

Estou tentando preencher uma tabela temporária com base no resultado de uma condição no SQL 2005. A tabela temporária terá a mesma estrutura de qualquer maneira, mas será preenchida usando uma consulta diferente, dependendo da condição. O script de exemplo simplificado abaixo falha na verificação de sintaxe doELSE quadraINSERT INTO com o erro de:

Já existe um objeto chamado '#MyTestTable' no banco de dados.

DECLARE @Id int
SET @Id = 1

IF OBJECT_ID('tempdb..#MyTestTable') IS NOT NULL DROP TABLE #MyTestTable

IF (@Id = 2) BEGIN 
    SELECT 'ABC' AS Letters
    INTO #MyTestTable;
END ELSE BEGIN
    SELECT 'XYZ' AS Letters
    INTO #MyTestTable;
END

Eu poderia criar a tabela temporária antes doIF/ELSE declaração e, em seguida, basta fazerINSERT SELECT instruções nos blocos condicionais, mas a tabela terá muitas colunas e eu estava tentando ser eficiente sobre isso. Essa é a única opção? Ou existe alguma maneira de fazer isso funcionar?

Obrigado Matt

questionAnswers(7)

yourAnswerToTheQuestion