Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные таблицы в данной коннекции. / 5 сообщений из 5, страница 1 из 1
30.08.2001, 09:28
    #32013184
Дмитрий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы в данной коннекции.
Доброе время суток!
Никто не решал проблему: проверить, существует ли временная таблица в данном сеансе работы?
...
Рейтинг: 0 / 0
30.08.2001, 09:31
    #32013186
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы в данной коннекции.
Существование временной таблицы в данном коннекте проверяется так же, как и существование постоянной таблицы, а именно

IF EXISTS(SELECT * FROM sysobjects WHERE id = object_id(N'dbo.#Temp1') AND objectproperty(id, N'IsUserTable') = 1)
DROP TABLE #Temp1
...
Рейтинг: 0 / 0
30.08.2001, 12:57
    #32013200
Pandre
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы в данной коннекции.
Это уже обсуждалось. Не записывается информация о временных таблицах в sysobjects текущей базы. Записи создаются в базе tempdb, но имена дополняются самим сервером, чтобы отличать таблицы с одинаковыми именами, но разными коннектами. Например у меня имя таблицы стало #Temp1

#Temp1______________________________________________________________________________________________________________00000000246D

Поэтому надо делать так

IF EXISTS(SELECT * FROM tempdb..sysobjects WHERE id = object_id(N'#Temp1') AND objectproperty(id, N'IsUserTable') = 1)
DROP TABLE #Temp1
...
Рейтинг: 0 / 0
30.08.2001, 13:03
    #32013203
Дмитрий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы в данной коннекции.
Спасиба всем. Я и сам постепенно дошел до этого.
Дополнения Pandre мне недоставало.

Однако возник другой вопрос. Насколько необходима проверка IsUserTable = 1, неужели недостаточно такого условия if object_id('tempdb..#TempTable') is not null ?
...
Рейтинг: 0 / 0
30.08.2001, 13:07
    #32013204
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные таблицы в данной коннекции.
Временной может быть не только таблица, но и, например, процедура. A sysobjects содержит список всех объектов базы данных.

2pandre
Все время забываю это уточнение насчет tempdb - память наверное
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные таблицы в данной коннекции. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]