读取表的当前“元数据更改计数器”(版本计数)

时间:2017-03-16 09:04:13

标签: firebird

在Firebird中,每个表都有一个内部的1字节“元数据更改计数器”,它将每个表的更改限制为255.

有没有办法读取此计数器的当前值?

2 个答案:

答案 0 :(得分:2)

  

您在表格结构中所做的每项更改都会记录在 RDB $ FORMATS 中   系统表。当您进行255次更改时,您必须进行备份   后续恢复 - 重置所有表的计数器。

Source

要获取可以使用的表的更改次数:

select max(t.rdb$format) from rdb$formats t
where
 t.rdb$relation_id = (select t2.rdb$relation_id from rdb$relations t2   
    where (t2.rdb$relation_name = 'MY_TABLE_NAME'))

答案 1 :(得分:2)

获取表的当前(最高)格式版本的最简单查询是

select rdb$format
from rdb$relations
where rdb$relation_name = 'TABLE_NAME'