Временные таблицы в sql-сервере

Я работаю над созданием временных таблиц в sql-сервере. Я создал временную таблицу успешно, но когда я пытаюсь просмотреть данные, она говорит INVALID OBJECT NAME. Может ли кто-нибудь рассказать врагу, как долго существуют временные таблицы? Если я зарегистрирован на сервере sql, так как userid - devloper и pwd = 0999, а другой человек также входит в систему на сервере sql с одинаковыми учетными данными, эти временные таблицы будут удалены? мой sql выглядит следующим образом:

SELECT net_node_model.SYS_ID, net_node_model.NODE, mst_temp_equation.TEMP_ID,
       mst_temp_equation.EQ_ID
INTO ##NT_MASTER_TEMP_EQUATION
FROM mst_temp_equation INNER JOIN
     net_node_model ON mst_temp_equation.TEMP_ID = net_node_model.TEMP_ID
GROUP BY net_node_model.SYS_ID, net_node_model.NODE, mst_temp_equation.TEMP_ID,
         mst_temp_equation.EQ_ID, mst_temp_equation.EQ_NAME,
         mst_temp_equation.EQ_TYPE, mst_temp_equation.[OBJECT],
         mst_temp_equation.VAR_TYPE, mst_temp_equation.VAR_NAME,
         mst_temp_equation.VAR_SUBSET, mst_temp_equation.VAR_SET,
         mst_temp_equation.RHS_RELN, mst_temp_equation.RHS_OBJECT,
         mst_temp_equation.RHS_VAR_SET, mst_temp_equation.RHS_VAR_SUBSET,
         mst_temp_equation.RHS_VAR_TYPE, mst_temp_equation.RHS_VAR_NAME,
         mst_temp_equation.EQ_TP_OFFSET, mst_temp_equation.RHS_TP_OFFSET,
         mst_temp_equation.RETAIN, mst_temp_equation.TIME_PRD,
         mst_temp_equation.EQ_VAR_SUBTYPE, mst_temp_equation.RHS_VAR_SUBTYE;

Ответ 1

Если вы используете регулярную временную таблицу #table, она не будет видна ни одному другому сеансу, кроме того, на котором она была создана. После завершения этой сессии таблица будет удалена.

Если вы используете глобальную временную таблицу ##table, она будет видна другим сеансам.

От MSDN - CREATE TABLE в разделе temporary tables:

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

Ответ 2

Вы говорите, что вы уже создали таблицу ## NT_MASTER_TEMP_EQUATION и теперь пытаетесь вставить в нее? Если это так, используйте синтаксис INSERT INTO ##NT_MASTER_TEMP_EQUATION SELECT ... вместо того, что у вас есть.

SELECT ... INTO ##temp FROM ... используется для создания таблицы и заполнения ее.


Кроме того, у вас есть жулик , в конце вашего списка SELECT (непосредственно перед ключевым словом INTO). Это нужно удалить.

Ответ 3

Если это точный запрос, который вы использовали, то я думаю, что у вас может быть синтаксическая ошибка в первой строке, похоже, что перед ключевыми словами INTO

есть дополнительная запятая,
...mst_temp_equation.EQ_ID,  INTO ##NT_MASTER_TEMP_EQUATION
                          ^

Не уверен, что это вызывает ошибку INVALID OBJECT NAME или нет