Teradata - 如何在 SQL Assistant Query Tool 下添加列出 Teradata 服务器上的所有可用数据库?

Teradata - How to add-list all available databases on Teradata server under SQL Assistant Query Tool?

我正在使用 Teradata SQL Assistant。我是 Teradata 数据库的新用户。 与 SQL Server Management Studio 一样,我无法通过 SQL Assistant 查看 Teradata Server 上的可用数据库。

所以我只想问一下,如何在SQL Assitant中列出Teradata Server上所有可用的数据库。 只有这些信息,我才能决定我需要哪些数据库并可以请求所需的访问权限。

我在 Google 上搜索并发现我们需要在 SQL Assitant 中手动添加数据库,除非您知道数据库名称,否则这不是很有帮助。是否有任何其他可用的工具可以像在 SSMS 中那样以结构化排序的方式向我显示可用的数据库列表?

任何信息链接都会有所帮助。

谢谢。

如@dnoeth 所述,您可以通过查询 DBC.databasesV table 来获取数据库列表。如果您还想查看层次结构,可以在 table 中查看 OwnerName 并根据 parent/child 关系创建层次结构。

在 SQL 中直观地显示层次结构的一种方法是使用递归 CTE。你的情况:

WITH RECURSIVE dbs AS
(
    SELECT 

        databasename,
        ownername,
        0 AS depth,
        cast(databasename AS VARCHAR(500)) AS path,
        CAST(DatabaseName AS VARCHAR(500)) AS pretty_hierarchy

    FROM "DBC".databasesv
    WHERE DatabaseName = 'DBC'

    UNION ALL

    SELECT
        dbsv.databasename,
        dbsv.ownername,
        depth + 1 AS depth,
        path || '>' || dbsv.databasename,
        substring('            ' FROM 1 FOR (dbs.depth + 1)*3) || dbsv.DatabaseName 
    FROM
        dbs INNER JOIN "DBC".DatabasesV dbsv ON
            dbsv.OwnerName = dbs.databasename AND
            dbsv.DatabaseName <> dbs.databasename
    WHERE dbs.depth <=10
)
SELECT * FROM dbs ORDER BY "path", depth