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

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


vremennye_tablicy

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

vremennye_tablicy [2017/01/24 07:13] (текущий)
109.195.129.114 создано
Строка 1: Строка 1:
 +====== Временные таблицы ======
  
 +===== Версии сервера =====
 +^ 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 уровня соединения с базой данных. ​
 +
 +===== Пример =====
 +<code sql>
 +-- Создание глобальной временной таблицы уровня соединения
 +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);  ​
 +</​code>​
 +
 +===== См. также =====
 +[[CREATE TABLE]]
 +
 +===== Источник =====
 +http://​www.ibase.ru/​files/​firebird/​langref25rus/​index.html#​d0e8485
vremennye_tablicy.txt · Последние изменения: 2017/01/24 07:13 — 109.195.129.114