Какова цель временной таблицы, например, в следующем выражении? Как это отличается от обычной таблицы?
CREATE TEMPORARY TABLE tmptable
SELECT A.* FROM batchinfo_2009 AS A, calibration_2009 AS B
WHERE A.reporttime LIKE '%2010%'
AND A.rowid = B.rowid;
Какова цель временной таблицы, например, в следующем выражении? Как это отличается от обычной таблицы?
CREATE TEMPORARY TABLE tmptable
SELECT A.* FROM batchinfo_2009 AS A, calibration_2009 AS B
WHERE A.reporttime LIKE '%2010%'
AND A.rowid = B.rowid;
Таблицы Temp хранятся только в течение всего сеанса с сервером. После отключения соединения по какой-либо причине таблица автоматически отбрасывается. Они также видны только текущему пользователю, поэтому несколько пользователей могут использовать одно и то же имя временной таблицы без конфликтов.
Временная таблица перестает существовать, когда соединение закрыто. Таким образом, его целью является, например, сохранение временного набора результатов, который должен быть обработан до его использования.
Временные таблицы в основном используются для хранения результатов запроса, которые нуждаются в дальнейшей обработке, например, если результат должен быть повторно запрошен или уточнен или будет использоваться в разных случаях вашим приложением. Обычно данные, хранящиеся во временной базе данных, содержат информацию из нескольких обычных таблиц (например, в вашем примере).
Временные таблицы автоматически удаляются при завершении текущего сеанса базы данных.
Поддержка временных таблиц существует, чтобы разрешить процедурные парадигмы в наборе 4GL, либо потому, что кодер не переключил свое мышление 3GL на новую парадигму или не работал над проблемой производительности или синтаксиса (воспринимаемой или иным образом).