powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные таблицы в данной коннекции.
5 сообщений из 5, страница 1 из 1
Временные таблицы в данной коннекции.
    #32013184
Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток!
Никто не решал проблему: проверить, существует ли временная таблица в данном сеансе работы?
...
Рейтинг: 0 / 0
Временные таблицы в данной коннекции.
    #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
Временные таблицы в данной коннекции.
    #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
Временные таблицы в данной коннекции.
    #32013203
Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасиба всем. Я и сам постепенно дошел до этого.
Дополнения Pandre мне недоставало.

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

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


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