我正在使用Teradata SQL Assistant。我要做的是列出“数据库资源管理器”中可见的所有数据库。起初,我尝试过简单的查询:
select DatabaseName from DBC.Databases;
但是这返回了数千个我甚至无法访问的数据库。 DBC.Databases表似乎没有任何字段允许我将结果过滤到只有可见的数据库,或者我只是无法找到它。我几乎可以肯定在任何表格中都没有这样的字段,例如'%database%'。
有没有办法用SQL查询列出那些可见的数据库?
答案 0 :(得分:3)
绝不使用没有尾随V
或VX
的系统视图,这些是旧的遗留视图,会截断超过30个字符的对象名称。
在您的情况下,您需要切换到dbc.DatabasesVX
,X
表示您没有任何访问权限的所有对象都会自动过滤。但是,这可能仍会返回比数据库资源管理器更多的数据库,您可以在其中手动将数据库添加到列表中。