Я использую следующее для проверки и создания таблицы:
IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'tempdb' AND TABLE_NAME LIKE '#tmp_items%')
CREATE TABLE #tmp_items
(
id INT IDENTITY(1,1),
inv_mast_uid INT DEFAULT NULL,
src_invoice BIT DEFAULT NULL,
src_invoice_date DATETIME DEFAULT NULL,
src_order BIT DEFAULT NULL,
src_order_date DATETIME DEFAULT NULL
)
ELSE
TRUNCATE TABLE #tmp_items
Я получаю следующую ошибку:
Уже существует объект с именем '#tmp_items'в базе данных.
Если бы она существовала, она должна была бы обрезать таблицу ....
Когда я смотрю на INFORMATION_SCHEMA
, я ничего не вижу:
SELECT DISTINCT TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES
Возвращает:
ssb
UTIL
mbl
DataSync
dbo
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%tmp_items%'
Ничего не возвращает.
Это не имеет смысла, и я в растерянности ... Я даже отключился отсервер (который должен был очистить временные таблицы) и переподключился и все равно получил ту же ошибку.
Я что-то упустил?