Хорошо, у меня, наверное, очень простой вопрос для вас, Sql-гуру ...
Учитывая некоторый логический тип, T, я хочу заполнить временную таблицу набором данных A, если T - true, или набором данных B, если T - false. Я думал, что это будет, как это сделать:
DECLARE @foo INT
SET @foo = null
IF (@foo is null)
BEGIN
SELECT 'foo was null' INTO #TempTable
END
ELSE
BEGIN
SELECT 'foo not null' INTO #TempTable
END
Но это не работает. Я получаю сообщение об ошибке «В базе данных уже есть объект с именем« #TempTable ».
Видимо, Sql пытается создать таблицу в каждом случае, прежде чем он оценивает условие ...? Это кажется странным для меня, но хорошо ... Но как правильно сделать что-то подобное?
Редактировать: я на Sql Server, но подозреваю, что это более универсальная проблема ... но если я ошибаюсь, пожалуйста, дайте мне знать.