如何从Firebird数据库中获取表列表?

Bea*_*n80 3 python firebird kinterbasdb

所以我需要转换几个Firebird数据库.我已经设法使用python代码和kinterbasdb库连接到它们,但我找不到一种方法来获取数据库中所有表的列表.是否有一个命令会给我表名?

Mar*_*eel 8

获取表列表是:

  1. 在isql中: show tables;
  2. 作为普通查询:

    SELECT a.RDB$RELATION_NAME
    FROM RDB$RELATIONS a
    WHERE RDB$SYSTEM_FLAG = 0 AND RDB$RELATION_TYPE = 0
    
    Run Code Online (Sandbox Code Playgroud)

  • 布伦特·罗兰德(Brent Rowland)的查询适用于旧版本(我的查询中没有`RDB $ RELATION_TYPE = 0`的查询也包含视图)。 (2认同)

小智 6

我用:

SELECT RDB$RELATION_NAME FROM RDB$RELATIONS
WHERE (RDB$SYSTEM_FLAG <> 1 OR RDB$SYSTEM_FLAG IS NULL) AND RDB$VIEW_BLR IS NULL
ORDER BY RDB$RELATION_NAME;
Run Code Online (Sandbox Code Playgroud)