Подтвердить что ты не робот

Продолжительность данных в глобальной временной таблице?

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

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

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

Ответ 3

Если таблица была создана с "on commit keep rows", данные будут оставаться до конца текущего сеанса. Если он был создан с помощью "on commit delete rows", он останется до следующего фиксации или отката.