Ответ 1
IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
DROP TABLE #TempTable
END
При написании T-SQL script, который я планирую повторно запустить, часто я использую временные таблицы для хранения временных данных. Поскольку временная таблица создается "на лету", я хотел бы оставить эту таблицу только в том случае, если она существует (до ее создания).
Я отправлю метод, который я использую, но я хотел бы посмотреть, есть ли лучший способ.
IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
DROP TABLE #TempTable
END
Функция OBJECT_ID возвращает идентификатор внутреннего объекта для имени и типа данного объекта. 'tempdb.. # t1' относится к таблице t1 в базе данных tempdb. 'U' для пользовательской таблицы.
IF OBJECT_ID('tempdb..#t1', 'U') IS NOT NULL
DROP TABLE #t1
CREATE TABLE #t1
(
id INT IDENTITY(1,1),
msg VARCHAR(255)
)
SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'