Вставка SQL в временную таблицу в блоках If и Else

Я пытаюсь заполнить временную таблицу на основе результата условия в SQL 2005. Временная таблица в любом случае будет иметь такую ​​же структуру, но будет заполняться с использованием другого запроса в зависимости от условия. В приведенном ниже упрощенном примере сценария не выполняется проверка синтаксисаELSE блокINSERT INTO с ошибкой:

В базе данных уже есть объект с именем #MyTestTable.

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

Я мог бы создать временную таблицу до того, какIF/ELSE заявление, а затем просто сделатьINSERT SELECT операторы в условных блоках, но в таблице будет много столбцов, и я пытался быть эффективными в этом. Это единственный вариант? Или есть какой-нибудь способ заставить это работать?

Спасибо Мэтт