在我的工作场所,我们有单独的 Teradata 数据库来管理表和视图。“tables”数据库包含带有数据的表,而“views”数据库只有视图。对两个数据库的访问由角色管理:“开发者”有权限在“表”中创建表,在“视图”中创建视图;“消费者”对“视图”数据库只有“读取”权限。
随着时间的推移,一些视图变得“不好”,因为它们引用的基表不再存在。这通常是由于开发人员在某些分析结束时删除了表并忘记删除相应的视图时造成的。
问题:是否有一种“简单”的方法来识别不再与有效表关联的视图?
我正在考虑编写一个测试脚本来select count(*)
对“视图”数据库中的每个视图执行一个;如果测试失败,我会知道视图有问题。我知道如何做到这一点(它会起作用),但我想我会问是否有更好的方法。