Глобальная временная таблица Firebird (GTT), трогать другие таблицы?

У меня есть база данных Firebird (v. 2.5), я не могу создавать процедуры, представления или таблицы в базе данных из-за потери поддержки.

Мой взгляд слишком длинный

Too many Contexts of Relation/Procedure/Views. Maximum allowed is 255

Я думаю, что смогу решить эту проблему, создав GTT, верно?

Мой вопрос, этот GTT будет храниться в базе данных? Когда GTT удаляется? Я попытался создать копию своей базы данных и создал GTT, после чего я закрыл соединение и снова подключился, и GTT уже был там. Мой GTT принадлежит к основным таблицам в базе данных?

1 ответ

Решение

Определение глобальной временной таблицы является постоянным (поэтому она называется глобальной, а не, например, локальной). Данные в глобальной временной таблице видны только той транзакции, которая ее заполнила (on commit delete rows) или к соединению, которое его заполнило (on commit preserve rows). Когда транзакция заканчивается или соединение закрывается, данные удаляются

Таким образом, после создания определение глобальной временной таблицы будет существовать в базе данных, пока она не будет удалена.

Я не могу сказать, нарушает ли это ваше соглашение с поставщиком программного обеспечения. Вам нужно будет спросить их.

Другие вопросы по тегам