Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Область видимости временной таблицы  [new]
Ural2
Member

Откуда:
Сообщений: 58
Работаю в Query Analyzer в одном окне. Вызываю прцедуру, которая создает и заполняет таблицу #tmp2 - все ОК. Тут же делаю SELECT * FROM #tmp2 и получаю ошибку -Invalid object name #tmp2
Сеанс не закрывался, таблица не удалялась. Почему я ее не вижу?
27 окт 09, 13:07    [7843965]     Ответить | Цитировать Сообщить модератору
 Re: Область видимости временной таблицы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36814
А почему вы ее должны видеть?
27 окт 09, 13:08    [7843975]     Ответить | Цитировать Сообщить модератору
 Re: Область видимости временной таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ural2
Работаю в Query Analyzer в одном окне. Вызываю прцедуру, которая создает и заполняет таблицу #tmp2 - все ОК. Тут же делаю SELECT * FROM #tmp2 и получаю ошибку -Invalid object name #tmp2
Сеанс не закрывался, таблица не удалялась. Почему я ее не вижу?

Потому что в хелпе написано
"A local temporary table created in a stored procedure is dropped automatically when the stored procedure is finished."
27 окт 09, 13:09    [7843982]     Ответить | Цитировать Сообщить модератору
 Re: Область видимости временной таблицы  [new]
Ural2
Member

Откуда:
Сообщений: 58
dropped automatically when the stored procedure is finished - какая неприятность!!!
То бишь придется делать так: вызываю с клиента (Delphi) запрос типа
create table #tmp...
insert into exec proc...
И после этого я cмогу вызывать select * from #tmp сколь угодно раз из разных ADOQuery c одной ADOConnection пока ее не закрою?
27 окт 09, 13:40    [7844231]     Ответить | Цитировать Сообщить модератору
 Re: Область видимости временной таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104760
Ural2
dropped automatically when the stored procedure is finished - какая неприятность!!!
То бишь придется делать так: вызываю с клиента (Delphi) запрос типа
create table #tmp...
insert into exec proc...
И после этого я cмогу вызывать select * from #tmp сколь угодно раз из разных ADOQuery c одной ADOConnection пока ее не закрою?

А зачем так делать, если процедура и так возвращает вам набор ?
27 окт 09, 13:42    [7844248]     Ответить | Цитировать Сообщить модератору
 Re: Область видимости временной таблицы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31200
Ural2
И после этого я cмогу вызывать select * from #tmp сколь угодно раз из разных ADOQuery c одной ADOConnection пока ее не закрою?
Да
27 окт 09, 13:51    [7844350]     Ответить | Цитировать Сообщить модератору
 Re: Область видимости временной таблицы  [new]
Ural2
Member

Откуда:
Сообщений: 58
Процедура работает долго и мучительно (сек.15). А потом мне нужно на результирующую выборку накладывать всяческие сложные фильтры. То есть нужно делать запрос к запросу, а я этого не умею. ADOQuery.Filter не удовлетворяет.
27 окт 09, 13:51    [7844351]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить