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