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'也包含視圖)。 –