powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные таблицы
6 сообщений из 6, страница 1 из 1
Временные таблицы
    #32001905
Nata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При использовании временных таблиц нужна проверка на существование данной таблицы для данного пользователя, который мог ранее в сеансе инициировать ее. Как можно узнать имя таблицы чтобы проверить ее существование.
Create table #TMPAktSv (id int)
if exists (select *
from tempdb..sysobjects
where name like '#TMPAktSv%') ... else ...

запрос возвращает имя таблиц=#TMPAktSv___________________________________________________________________________________________________________0000000008B2
Подскажите из чего оно формируется??
...
Рейтинг: 0 / 0
Временные таблицы
    #32001916
AnKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А по подробнее можно? Чем вызвано такое желание? Временная таблица видна только для того запроса, который ее создал и держит. Так что из других запросов (даже того же пользователя) ты ее не увидишь. Как только запрос отработал - таблица пропадает. Так что опиши проблему подробнее, может тебе необходимо использовать глобальные(##) временные таблицы ?
...
Рейтинг: 0 / 0
Временные таблицы
    #32001920
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полный бред.
Если речь идет о локальных временных табличках (#) то они автоматически грохаются по завершении работы процедуры, их зоздавшей. Это не касается глобальных (##) и созданных вне процедуры локальных таблиц. А вот пример проверки на существование таблицы:
If object_ID('tempdb..#TempTable') Is not Null
...
Рейтинг: 0 / 0
Временные таблицы
    #32001928
Nata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.
AnKa, насчет использования глобальных временных таблиц то скореее всего так и будет.
Но все равно интересно из чего слагается имя локальной временной таблицы ??????
А насчет подробностей:
Пользователь регистрируется в SQL
Заполняет поля запроса
Запускает процедуру - получает ответ
Меняет параметры - Запускает процедуру - получает ответ
NNNN.......
Выходит из программы.
...
Рейтинг: 0 / 0
Временные таблицы
    #32001929
AnKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А бес его знает, из чего оно формируется. Сам когда-то разбираля - чуть мозги не поломал. Ната, я так понимаю, тебе необходимо хранить какую-то информацию только на время сеанса пользователя. Подумай, может стоит применить обыкновенную таблицу для всех пользователей с контрольным полем-логин пользователя. Но это подходит, если только у тебя все пользователи уникальны (не могут войти 2 пользователя под одним логином). Еще есть такая фича как @@SPID - уникальный номер сессии. Можно и его использовать. Допустим пользователь коннектится...
1.Сразу определяется его @@SPID.
2.Из таблицы удаляются все записи со значением этого @@SPID в контрольном поле (ведь это мог быть "мусор" с предыдущей сессии с этим же номером, которая уже закрылась).
3.Затем пользователь заполняет и обрабатывает записи только со своим значением @@SPID в контрольном поле. Во время расконнекта можно, конечно удалять после себя мусор, но это не обязательно, так как см. шаг.2.
У меня была похожая ситуация, но у меня уникальность обеспечивается логином пользователя.

Желаю удачи!

ЗЫ. Паша, попей кофейку, успокойся. Не все ж такие умные, как ты. Конференция для того и создана, чтобы люди обменивались опытом, задавали интересующие вопросы, даже если они глупые, с точки зрения других. Все мы учились понемногу чему-небудь, да как-нибудь.
...
Рейтинг: 0 / 0
Временные таблицы
    #32001935
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рановатр ты меня в умные записал. Как раз кофе я и обпился. Мир, ладно?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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