firebird - 列出 Firebird 数据库的所有未使用的域

标签 firebird

有没有一种快速的方法来列出为数据库定义的所有实际上没有被任何字段使用的 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/

相关文章:

sql - 将行转为列 Firebird 2.5

php - 如何在 Firebird 中将 BLOB SUB_TYPE 0 转换为 TEXT?

php - 允许的内存大小为 134217728 字节耗尽(尝试分配 18063885380364533825 字节)

android - Delphi & Datasnap - 连接超时、通信超时或避免客户端应用程序在没有服务器响应时挂起的方法

firebird - 保护 firebird 嵌入文件

sql - Firebird:为什么这个sql语句在存在记录时找不到记录?

Firebird 常数值

firebird - "gbak: ERROR:unsuccessful metadata update gbak: ERROR: key size exceeds implementation restriction for index"

delphi - Firedac select 与 Firebird 一起使用不返回任何记录

delphi - 将宽字符串转换为字符串