Инструменты пользователя

Инструменты сайта


vremennye_tablicy



Временные таблицы

Версии сервера

0.9 1.0 1.5.3 1.5.4 1.5.5 2.0 2.0.3 2.0.4 2.1 2.5 3.0
- - - - - - - - Да Да Да

Описание

Глобальные временные таблицы (GTT)

Если в операторе создания таблицы указано необязательное предложение GLOBAL TEMPORARY, то вместо обычной таблицы будет создана глобальная временная таблица. Глобальные временные таблицы (в дальнейшем сокращённо GTT) так же, как и обычные таблицы, являются постоянными метаданными, но данные в них ограничены по времени существования транзакцией (значение по умолчанию) или соединением с БД. Каждая транзакция или соединение имеет свой собственный экземпляр GTT с данными, изолированный от всех остальных. Экземпляры создаются только при условии обращения к GTT, и данные в ней удаляются при подтверждении транзакции или отключении от БД. Если в операторе создания глобальной временной таблицы указано необязательное предложение ON COMMIT DELETE ROWS, то будет создана GTT транзакционного уровня (по умолчанию). При указании предложения ON COMMIT PRESERVE ROWS – будет создана GTT уровня соединения с базой данных.

Пример

-- Создание глобальной временной таблицы уровня соединения
CREATE GLOBAL TEMPORARY TABLE MYCONNGTT (
  ID INTEGER NOT NULL PRIMARY KEY,
  TXT VARCHAR(32),
  TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
ON COMMIT PRESERVE ROWS;
-- Создание глобальной временной таблицы уровня транзакции ссылающейся внешним ключом на глобальную временную таблицу уровня соединения.
CREATE GLOBAL TEMPORARY TABLE MYTXGTT (
    ID INTEGER NOT NULL PRIMARY KEY,
    PARENT_ID INTEGER NOT NULL REFERENCES MYCONNGTT(ID),
    TXT VARCHAR(32),
    TS TIMESTAMP DEFAULT CURRENT_TIMESTAMP);  

См. также

Источник

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
vremennye_tablicy.txt · Последнее изменение: 2017/01/24 07:13 — 109.195.129.114