有没有一种快速的方法来列出为数据库定义的所有字段实际上都未使用的Firebird域?我有一个包含许多表和许多域的大型数据库,似乎其中许多不再使用了,所以我想是时候进行清理了!

我认为可以通过查询RDB$...系统表来实现,但是我不确定如何执行此操作。

最佳答案

SELECT
  f.rdb$field_name
FROM
  rdb$fields f
  LEFT JOIN rdb$relation_fields rf
    ON rf.rdb$field_source = f.rdb$field_name
WHERE
  rf.rdb$field_name IS NULL
  AND
  COALESCE(f.rdb$system_flag, 0) = 0

关于firebird - 列出Firebird数据库的所有未使用域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35432357/

10-13 03:36