2
所以我有几个需要转换的Firebird数据库。我设法使用python代码和kinterbasdb库连接到它们,但是我找不到获取数据库中所有表的列表的方法。有没有可以给我表名的命令?如何从Firebird数据库获取表格列表?
所以我有几个需要转换的Firebird数据库。我设法使用python代码和kinterbasdb库连接到它们,但是我找不到获取数据库中所有表的列表的方法。有没有可以给我表名的命令?如何从Firebird数据库获取表格列表?
获取表的列表是:
show tables;
作为一个正常的查询:
SELECT a.RDB$RELATION_NAME
FROM RDB$RELATIONS a
WHERE RDB$SYSTEM_FLAG = 0 AND RDB$RELATION_TYPE = 0
我用:
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;
的第二方法工作,虽然我不得不从方程 – Beacon80
@ Beacon80中删除关系类型我使用的是Firebird 2.5,但这个列在旧版本(数据库结构版本)中不可用;如果您使用Firebird 2.5并且没有此列,则需要备份和恢复数据库。 –
Brent Rowland的查询适用于旧版本(我的查询没有'RDB $ RELATION_TYPE = 0'也包含视图)。 –