Я пытаюсь заполнить временную таблицу на основе результата условия в SQL 2005. Временная таблица будет имеют одинаковую структуру в любом случае, но будут заполнены с использованием другого запроса в зависимости от условия. В приведенном ниже упрощенном примере сценария происходит сбой при проверке синтаксиса блока ELSE
INSERT INTO
с ошибкой:
Уже существует объект с именем В любом случае временная таблица будет иметь одинаковую структуру, но будет заполняться с использованием другого запроса в зависимости от ...
Я пытаюсь заполнить временную таблицу на основе результата условия в SQL 2005. Временная таблица в любом случае будет иметь одинаковую структуру, но будет заполняться с использованием другого запроса в зависимости от условия. В приведенном ниже упрощенном примере сценария происходит сбой при проверке синтаксиса блока
ELSE
INSERT INTO
с ошибкой:Уже существует объект с именем В любом случае временная таблица будет иметь одинаковую структуру, но будет заполняться с использованием другого запроса в зависимости от ...
Я пытаюсь заполнить временную таблицу на основе результата условия в 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
в условных блоках, но таблица будет много столбцов, и я пытался действовать эффективно. Это единственный вариант? Или есть способ заставить это работать?Спасибо, Matt