我有一个Firebird数据库(v. 2.5),由于失去支持,我不允许在数据库中创建过程,视图或表。
我的观点太长了:
Too many Contexts of Relation/Procedure/Views. Maximum allowed is 255
我想我可以通过创建GTT来解决这个问题,对吧?
我的问题是,这个GTT会存储在数据库中吗?何时删除 GTT?我尝试在我的数据库副本中创建了一个 GTT,之后我关闭了连接并重新连接,GTT 已经在那里了。我的 GTT 是否属于数据库中的主表?
全局临时表的定义是持久的(这就是为什么它被称为全局而不是本地)。全局临时表中的数据仅对填充它的事务(on commit delete rows
)或填充它的连接(on commit preserve rows
)可见。当事务结束或连接关闭时,数据将被删除
因此,一旦创建,全局临时表的定义将存在于数据库中,直到它被删除。
这是否违反了您与软件供应商的协议,我不能说。你需要问他们。