Сведения о вопросе

Getthesound

16:03, 1st July, 2020

Теги

sql-server    

Каков наилучший способ определить, существует ли временная таблица на сервере SQL?

Просмотров: 402   Ответов: 3

При написании сценария T-SQL, который я планирую повторно запустить, часто я использую временные таблицы для хранения временных данных. Поскольку временная таблица создается на лету, я хотел бы иметь возможность удалить эту таблицу, только если она существует (до ее создания).

Я опубликую метод, который я использую, но я хотел бы посмотреть, есть ли лучший способ.



  Сведения об ответе

PHPH

18:03, 1st July, 2020

IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
    DROP TABLE #TempTable
END


  Сведения об ответе

SEEYOU

18:03, 1st July, 2020

Функция 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)
)


  Сведения об ответе

SEEYOU

18:03, 1st July, 2020

SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться