Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: CL | DM;

Вниз

работа с временной таблицей   Найти похожие ветки 

 
Tananda   (2003-04-23 13:04) [0]

Люди,помогите!
Вначале работы создаю временную таблицу в ADOQuery, в ней же ее и заполняю. Всё нормально. Другой Query хочу выбрать полученные данные из этой таблицы, а она говорит, что нет такой таблицы!
Временная локальная таблица должна быть видна в пределах данной сессии. Неужели каждая Кверя запускает свою сессию? И как это обойти?


 
NAlexey ©   (2003-04-23 13:14) [1]

Смотря какую таблицу создаешь, существует временная локальная и временная глобальная соответственно префиксы разные для локальноой - # для глобальной - ##.
Ну собственно вот:

Temporary Tables
You can create local and global temporary tables. Local temporary tables are visible only in the current session; global temporary tables are visible to all sessions.

Prefix local temporary table names with single number sign (#table_name), and prefix global temporary table names with a double number sign (##table_name).


 
Tananda   (2003-04-23 13:18) [2]

Ну да, эт я знаю. Локальная она у меня. и обе Квери к одному Коннекшену. В принципе, они ж должны в обной сессии быть? или я что-то не понимаю про сессии? А получается, что в разных :(
Глобальную временную заводить не могу - программа работает на нескольких рабочих местах.


 
stone ©   (2003-04-23 13:28) [3]

K #table_name ты можешь обратиться только из той процедуры (запроса), в которой она была создана, т.к. после окончания работы данной процедуры, #table_name автоматически уничтожается


 
NAlexey ©   (2003-04-23 13:38) [4]

>Глобальную временную заводить не могу - программа работает на нескольких рабочих местах.
А причем здесь рабочие места? Глобальная временная таблица заводится на сервере, и уничтожается когда создавший её запрос уходит и все ссылки на нее тоже.


 
Tananda   (2003-04-23 13:55) [5]

Табличка то у меня с определенным именем. Если на 3-х местах запустят эту прогу, одна создаст, другая очистит, третья уничтожит, а первая будет в недоумении куда всё делось :(
Как же ш мне быть?


 
NAlexey ©   (2003-04-23 14:22) [6]

>Если на 3-х местах запустят эту прогу, одна создаст, другая очистит, третья уничтожит, а первая будет в недоумении куда всё делось
При таком подходе не должна мне кажется использоваться временная таблица, она служит другим целям.


 
Tananda   (2003-04-23 16:04) [7]

Дарогой NAlexey! (Ну и все кто может)
Что же тогда предусмотрено для таких целей??? У меня сложный запрос, который бегает по куче табличек и возвращает результирующий набор данных. С этим набором данных мне надо еще работать - сортировать, выбирать и т.п. Причем желательно быстро. Люди, посоветуйте что-нить! ICQ 112384899


 
MOA ©   (2003-04-23 16:29) [8]

А как Вы в одном запросе и создаёте и вставляете? Не используете ли GO? Или процедуры?
Удачи!


 
NAlexey ©   (2003-04-23 16:42) [9]

>Не используете ли GO?
Правильная мысль.


 
AM ©   (2003-04-23 16:46) [10]

>>Tananda (23.04.03 13:55)
>>Табличка то у меня с определенным именем. Если на 3-х местах
>>запустят эту прогу, одна создаст, другая очистит, третья
>>уничтожит, а первая будет в недоумении куда всё делось :(
>>Как же ш мне быть?

Если я правильно понял, тебе нужна временная таблица, к которой имел доступ только тот человек, который его создает.

Вот один из вариантов:
Создается глобальная временная таблица ##table_name, где в место table_name генерируешь уникальное имя именно для данного клиента БД.
Как это сделать? Например в названии создаваемой таблицы использовать имя компьютера на котором она (программа) запускается, ведь в локальной сети могут быть только уникальные имена компьютеров. Например имя компьютера Nikolay, то название таблицы можно сделать ##TabTmpNikolay. Но тут конечно надо поставить (внутри программы) ограничение, что на одной машине может запускаться только одна копия программы.

Примечание: В названии таблиц символ "-"нельзя использовать (по крайней мере в MSSQL7.0), а компьютерам давать можно, так что тебе надо следить за этим и заменять его на другой символ.

А на самом деле вариантов много...



Страницы: 1 вся ветка

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
1-46793
jonymoto
2003-05-02 11:14
2003.05.15
Как запретить ввод руских букв в таблицу


3-46618
Merlot
2003-04-24 10:43
2003.05.15
Запрос в Query


3-46625
Шрек
2003-04-23 05:16
2003.05.15
Не работает кнопка Delete в стандартном навигаторе


14-46992
Malder
2003-04-26 15:52
2003.05.15
Правда, что эстонцы - медлительная нация ?


14-46928
Карелин Артем
2003-04-25 12:32
2003.05.15
Структура Классификатора Адресов и логические связи.