B.3.6.2 Проблемы таблиц TEMPORARY
Временные таблицы, созданные с помощью CREATE TEMPORARY
TABLE, имеют следующие ограничения:
Таблицы TEMPORARY поддерживаются только движками хранилища
InnoDB,MEMORY,MyISAMиMERGE.Временные таблицы не поддерживаются для NDB Cluster.
Команда
SHOW TABLESне отображает таблицы TEMPORARY.-
Для переименования таблиц TEMPORARY команда
RENAME TABLEне работает. ИспользуйтеALTER TABLEвместо этого:ALTER TABLE old_name RENAME new_name;
-
Нельзя ссылаться на таблицу TEMPORARY более одного раза в одном запросе. Например, следующий запрос не работает:
SELECT * FROM temp_table JOIN temp_table AS t2;
Запрос вызовет ошибку:
ERROR 1137: Can't reopen table: 'temp_table'
Ошибка Не удается повторно открыть таблицу также возникает, если вы ссылаетесь на временную таблицу несколько раз в хранимой функции с разными псевдонимами, даже если ссылки находятся в разных операторах внутри функции. Это может происходить для временных таблиц, созданных вне хранимых функций и используемых в нескольких вызывающих и вызываемых функциях.
Если таблица TEMPORARY создается с тем же именем, что и существующая таблица, которая не является временной, то не временная таблица будет скрыта до тех пор, пока временная таблица не будет удалена, даже если таблицы используют разные движки хранилища.
Имеются известные проблемы при использовании временных таблиц с репликацией. Для получения дополнительной информации см. Раздел 16.4.1.29, «Репликация и временные таблицы».
© 2025 Oracle
Licensed under the GPLv2 License.