Firebird全局临时表(GTT),触摸其他表?

时间:2016-04-27 10:46:24

标签: global firebird temp-tables global-temp-tables

我有一个Firebird数据库(2.5版),由于失去支持,我不允许在数据库中创建过程,视图或表。

我的观点太长了:

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

我想我可以通过创建GTT解决这个问题,对吗?

我的问题是,这个GTT会存储在数据库中吗? GTT什么时候删除?我尝试了我的数据库副本并创建了一个GTT,之后我关闭了连接并重新连接,GTT已经存在。我的GTT是否属于数据库中的主表?

1 个答案:

答案 0 :(得分:0)

global temporary table的定义是持久的(这就是为什么它被称为全局而不是,例如,本地)。全局临时表中的数据仅对填充它的事务(on commit delete rows)或填充它的连接(on commit preserve rows)可见。当事务结束或连接关闭时,数据将被删除

因此,一旦创建,全局临时表的定义将存在于数据库中,直到被删除。

这是否违反了您与软件供应商的协议,我无法说。你需要问他们。

相关问题