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

Откуда:
Сообщений: 157
В хранимой процедуре создается временная таблица:
IF OBJECT_ID('tempdb..#TmpStreet') IS NULL
CREATE TABLE #TmpStreet
name varchar(50), socr varchar(10),
code varchar(17), code1 varchar(11),
index_ varchar(6),
code2 varchar(2))
но после выполнения хп таблица #TmpStreet удаляется и невозможно
с ней оперировать из других процедур.
Почему врем. табл. удаляется?
23 ноя 09, 22:03    [7967051]     Ответить | Цитировать Сообщить модератору
 Re: Временные таблицы  [new]
iljy
Member

Откуда:
Сообщений: 8711
antonych,

Вариант 1. Таблица удаляется, потому что вы ее удаляете. Посмотрите профайлером, возможно где-то проходит команда drop table.
Вариант 2. Таблица удаляется, потому что истекло ее время жизни. У временных таблиц это либо сессия, либо - если она создается внутри динамического пакета - время выполнения exec.
23 ноя 09, 22:07    [7967056]     Ответить | Цитировать Сообщить модератору
 Re: Временные таблицы  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
antonych
Почему врем. табл. удаляется?


Потому что такое поведение описано в документации:

BOL->CREATE TABLE->Temporary Tables

A local temporary table created in a stored procedure is dropped automatically when the stored procedure is finished. The table can be referenced by any nested stored procedures executed by the stored procedure that created the table. The table cannot be referenced by the process that called the stored procedure that created the table.
23 ноя 09, 22:16    [7967072]     Ответить | Цитировать Сообщить модератору
 Re: Временные таблицы  [new]
tsyoma
Member

Откуда:
Сообщений: 31
Чтобы таблица не удалялась пишите
CREATE TABLE ##TmpStreet ...
и опять же все есть в документации )
24 ноя 09, 10:04    [7968039]     Ответить | Цитировать Сообщить модератору
 Re: Временные таблицы  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
tsyoma
Чтобы таблица не удалялась пишите
CREATE TABLE ##TmpStreet ...
и опять же все есть в документации )

она так же удалаяется и опять же все есть в документации .
24 ноя 09, 10:08    [7968072]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить