首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Teradata -如何在SQL Assistant Query Tool下添加-列出Teradata服务器上所有可用的数据库?

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

Stack Overflow用户
提问于 2017-01-09 19:04:43
回答 1查看 8K关注 0票数 4

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

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

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

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

谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2017-01-10 01:53:52

正如@dnoeth所提到的,您可以通过查询DBC.databasesV表来获取数据库列表。如果您还想查看层次结构,则可以在该表中查看OwnerName,并从父/子关系创建层次结构。

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

代码语言:javascript
复制
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
票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41546587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档