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