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