Вы можете проверить наличие временного объекта, используя object_id:
SELECT object_id('#tmpTable')
Вы можете указать, какую временную базу данных вы используете, если хотите, но вам не нужно:
SELECT object_id('tempdb..#tmpTable')
Стоит отметить, что это также работает и для глобальных временных таблиц:
SELECT object_id('##tmpTable')
Чтобы сделать сценарии повторно запускаемыми без необходимости выполнять DROP TABLE в конце, я всегда выполняю проверку и удаление перед созданием временной таблицы. Я часто оставляю таблицы, созданные при разработке кода SQL.
IF NULLIF(object_id('#tmpTable'), 0) IS NOT NULL DROP TABLE #tmpTable
CREATE TABLE #tmpTable (
id int,
col1 varchar(100)
)