我正在尝试创建一个存储过程(或触发器、函数等)来检查数据库中的所有表是否都可以访问。
我的想法是获取数据库中的所有表,然后尝试通过简单的选择来访问它们,如果所有表都成功,那么一切都应该没问题。
我想不出任何其他方法来解决这个问题,但我不知道该怎么做,或者所有这些。
1 - 获取我所做的所有表名:
SELECT RDB$RELATION_NAME TABLE
FROM RDB$RELATIONS
WHERE RDB$VIEW_BLR IS NULL
AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG = 0)
ORDER BY TABLE
现在我只需要为SELECT
每个表创建语句,然后运行一个查询:
SELECT FIRST 1 * FROM [TABLE];
虽然没关系,但它继续,如果所有表都可以访问,我的数据库没问题。
有人可以帮我吗?这是解决这个问题的正确方法吗?