Продолжительность данных в глобальной временной таблице? - PullRequest
13 голосов
/ 16 февраля 2011

Может кто-нибудь сказать мне: как долго будут храниться данные в глобальной временной таблице?

Ответы [ 3 ]

28 голосов
/ 16 февраля 2011

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

Это создает временную таблицу на основе транзакций:

create global temporary table temp_table_transaction on commit delete rows ...

Это создает временную таблицу на основе сеансов:

create global temporary table temp_table_transaction on commit preserve rows ...
14 голосов
/ 16 февраля 2011

Когда вы создаете временную таблицу , у вас есть две опции для сохранения данных:

  • ON COMMIT DELETE ROWS (по умолчанию) и
  • ON COMMIT PRESERVE ROWS

Если вы не укажете постоянное предложение или не укажете ON COMMIT DELETE ROWS, данные в таблице будут зависеть от транзакции (они будут удалены при фиксации или откате).

Если вы укажете ON COMMIT PRESERVE ROWS, данные останутся до конца вашего сеанса.

5 голосов
/ 16 февраля 2011

Если таблица была создана с «строками сохранения при фиксации», то данные будут оставаться до конца текущего сеанса.Если он был создан с помощью «при удалении строк при фиксации», он останется до следующего фиксации или отката.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...