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

Откуда:
Сообщений: 608
Добрый день!

написал хранимую процедуру dbo.BKV результатом у меня временная таблица #T1. Когда пытаюсь получить результат выдаёт ошибку. Подскажите пожалуйста что делаю не так.


declare @p1 varchar (4),
@p2 smalldatetime,
@p3 int

set @p1 = 'ТРН'
set @p2 = '01/01/01'
set @p3 = 1

execute dbo.BKV @p1, @p2, @p3

select * from #T1 - Server: Msg 208, Level 16, State 1, Line 12
Invalid object name '#T1'.
15 июн 09, 09:22    [7298571]     Ответить | Цитировать Сообщить модератору
 Re: temp table  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
saley
написал хранимую процедуру dbo.BKV результатом у меня временная таблица #T1.
Это как?
15 июн 09, 09:25    [7298581]     Ответить | Цитировать Сообщить модератору
 Re: temp table  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
saley
Подскажите пожалуйста что делаю не так.
Если локальная временная таблица создаётся внутри процедуры,
то она помирает, как только процедура завершается.
15 июн 09, 09:30    [7298605]     Ответить | Цитировать Сообщить модератору
 Re: temp table  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2549
saley,

а не проще ли Вашу "временную таблицу" вернуть в виде набора данных?
15 июн 09, 10:06    [7298735]     Ответить | Цитировать Сообщить модератору
 Re: temp table  [new]
LSV
Member [заблокирован]

Откуда: Киев
Сообщений: 30817
Если резулт времянки нужно заюзать во внешнем запросе, то создайте времянку до вызова этой ХП.
Напрмер у меня в приложении есть спецф-л, кот. создает времянки (SELECT INTO FROM SomeView , у которой WHERE 1=2), которые юзаются в разных частях приложения. Вьюха задает формат времянки.

ЗЫ: Сорри, что как-то сумбурно написал :(
15 июн 09, 14:01    [7300172]     Ответить | Цитировать Сообщить модератору
 Re: temp table  [new]
dima.dp.ua
Member

Откуда:
Сообщений: 42
Вам нужно создавать эту временную таблицу ДО вызова процедуры которая заносит в нее данные, тогда она будет существовать после и отработки процедуры.
15 июн 09, 14:15    [7300259]     Ответить | Цитировать Сообщить модератору
 Re: temp table  [new]
alex_ll
Member

Откуда: tomsk
Сообщений: 4259
dima.dp.u
Можно создать таблицу ##T1 - тогда она сохранится после работы процедуры - но и убивать ее придется самостоятельно.
15 июн 09, 14:32    [7300377]     Ответить | Цитировать Сообщить модератору
 Re: temp table  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
alex_ll
убивать ее придется самостоятельно.
Не совсем верно:
BOL-Временные таблицы
Глобальные временные таблицы автоматически удаляются при завершении сеанса, создавшего таблицу, и прекращении обращения к ним всех прочих задач. Связь между задачей и таблицей поддерживается только на время выполнения отдельной инструкции Transact-SQL. Это означает, что глобальная временная таблица удаляется после выполнения последней инструкции языка Transact-SQL, активно обращавшейся к ней во время завершения создавшего таблицу сеанса.
15 июн 09, 15:05    [7300621]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить