Временные пользовательские таблицы в прямом SQL Назад В начало Вперед

Считается, что время жизни временных таблиц ограничено сессией пользователя. Поэтому прикладной алгоритм, желающий воспользоваться временными таблицами, должен создавать их каждый раз при повторном запуске Галактики. При этом удалять временные таблицы не нужно, они умрут сами после выхода из системы. Однако никто не мешает это сделать явно. Например, для какого-то циклического алгоритма.

Могут не работать некоторые особенности Атлантис, типа автонумерации NRec'ов, хитрые нулевые индексы и т.д.

Некоторые индексы приводят к созданию зеркальных полей в таблицах. Эти поля создаются только в случае наличия этих индексов. Например, поля по upcase /noupcase строкам. Создание таких индексов динамически в настоящий момент невозможно, если такие поля в таблице отсутствуют (т.е. не было других индексов, содержащих в качестве сегмента это поле).

Для Oracle временные таблицы создаются в схеме пользователя, в отличии от основных таблиц БД. Однако особенностью временных таблиц Оракла является то, что нельзя создавать индексы во временных таблицах, если в них есть данные.

Поэтому, чтобы обеспечить возможность создания индексов динамически, нужно указать режим ctmDynamicIndex. При этом будет создаваться не временная таблица Оракла, а обычная, но опять же, в схеме пользователя. Это создаст у пользователя видимость индивидуальной работы и позволит создать индекс динамически.

Есть предположение (не проверенное на практике), что временные таблицы Оракла должны работать быстрее обычных (иначе к чему им лишние ограничения).

В Оракле временные таблицы живут вечно, но Атлантис эмулирует это и сам удаляет временные таблицы. Но неправильно написанные алгоритмы могут попадать на уже созданные и не убитые временные таблицы.

Версия

Начиная с Атлантис 5.3.08

Оглавление раздела

Функция sqlCreateTmpIndex

Функция sqlCreateTmpTable

Функция sqlCreateTmpTableAs

Функция sqlDropTmpIndex

Функция sqlDropTmpTable

Функция sqlTruncateTmpTable

Автоинкремент для временных таблиц