У меня есть хранимая процедура, в которой я создаю таблицу, если таблица не существует в данный момент в коде (попытался сначала выбрать top 0 * из другой таблицы, но результат тот же).
Эта таблица будет использоваться для вставки в нее данных с различными вариантами выбора, но может случиться так, что первый выбор не будет сделан, поскольку нет данных для этого конкретного выбора.
Из-за этого моя идея быладовольно просто создать его, если он не существует с кодом для каждого выбора.
Но когда я пытаюсь запустить его, я получаю:
Уже существует объект с именем '##TOTAL_SELECTION 'в базе данных.
Может кто-нибудь сказать мне, что я делаю неправильно или как я могу обойти это?Для меня это выглядит очень логично, потому что таблица создается только в том случае, если она не существует.
IF (SELECT COUNT(*) FROM TEMPDB.SYS.OBJECTS WHERE NAME = '##TOTAL_SELECTION' AND TYPE = 'U' ) = 0
BEGIN
CREATE TABLE ##TOTAL_SELECTION (ID NUMERIC(14,0), TYPE VARCHAR(100) )
END
--INSERT DATA INTO THE TABLE
/* SOME OTHER CODE */
IF (SELECT COUNT(*) FROM TEMPDB.SYS.OBJECTS WHERE NAME = '##TOTAL_SELECTION' AND TYPE = 'U' ) = 0
BEGIN
CREATE TABLE ##TOTAL_SELECTION (ID NUMERIC(14,0), TYPE VARCHAR(100) )
END
--INSERT DATA INTO THE TABLE
/* SOME moreCODE */