Firebird global temporary table (GTT), touch other tables?

≡放荡痞女 提交于 2019-12-23 17:44:57

问题


I have a Firebird database (v. 2.5), I'm not allowed to create procedures, views or tables into the database, because of losing support.

My view is too long:

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

I think I can solve this Problem by creating GTT, right?

My question is, this GTT will be stored in the Database? When is the GTT deleted? I tried in a copy of my database and created a GTT, after that I closed my connection and reconnected and the GTT was there already. Does my GTT belong to the main tables in the database?


回答1:


The definition of a global temporary table is persistent (that is why it is called global and not, for example, local). The data in a global temporary table is only visible to the transaction that populated it (on commit delete rows), or to the connection that populated it (on commit preserve rows). When the transaction ends or the connection is closed, the data is deleted

So once created the definition of the global temporary table will exist in the database until it is dropped.

Whether or not that violates your agreement with your software vendor, I can't say. You'll need to ask them.



来源:https://stackoverflow.com/questions/36887591/firebird-global-temporary-table-gtt-touch-other-tables

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!