【问题标题】:List visible databases in Teradata SQL Assistant?列出 Teradata SQL 助手中的可见数据库?
【发布时间】:2018-08-05 16:54:21
【问题描述】:

我正在使用 Teradata SQL 助手。我想要做的是列出“数据库资源管理器”中可见的所有数据库。起初,我尝试过简单的查询:

select DatabaseName from DBC.Databases;

但这返回了我什至无法访问的数千个数据库。 DBC.Databases 表似乎没有任何字段允许我将结果过滤到仅可见数据库,或者我无法找到它。而且我几乎可以肯定在任何表中都没有这样的字段,例如“%database%”。

有没有办法用 SQL 查询列出那些可见的数据库?

【问题讨论】:

    标签: sql teradata


    【解决方案1】:

    永远不要使用没有尾随 VVX 的系统视图,这些是旧的遗留视图,会截断超过 30 个字符的对象名称。

    在您的情况下,您需要切换到dbc.DatabasesVXX 表示您没有任何访问权限的所有对象都会被自动过滤。但这可能仍会返回比数据库资源管理器更多的数据库,您可以在其中手动将数据库添加到列表中。

    【讨论】:

    • 这仅显示 36 个 DB,如果无法过滤所有不可见的内容,这几乎可以接受。谢谢。
    • 如果您想过滤特定用户或角色的特定权限,您可以加入 DBC.ALLRIGHTSV 和/或 DBC.ALLROLERIGHTSV 并过滤与该数据库的用户/角色关联的特定权限.它为您提供了比仅使用 VX 视图更多的控制权,但可能不值得为微小的差异付出努力
    • 如果您正在查找 SQL 助手中可见的数据库,但在数据库中找不到,该信息存储在您的 SQL 助手中。
    猜你喜欢
    • 2018-11-19
    • 2020-12-07
    • 2017-05-23
    • 1970-01-01
    • 2017-07-19
    • 2019-02-05
    • 2016-05-10
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多