Глобальная временная таблица 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
). Когда транзакция заканчивается или соединение закрывается, данные удаляются
Таким образом, после создания определение глобальной временной таблицы будет существовать в базе данных, пока она не будет удалена.
Я не могу сказать, нарушает ли это ваше соглашение с поставщиком программного обеспечения. Вам нужно будет спросить их.