【问题标题】:Teradata - How to add-list all available databases on Teradata server under SQL Assistant Query Tool?Teradata - 如何在 SQL 助手查询工具下添加列出 Teradata 服务器上的所有可用数据库?
【发布时间】:2017-05-23 15:06:42
【问题描述】:

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

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

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

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

谢谢。

【问题讨论】:

  • dbc.DatabasesV 视图显示所有现有的数据库/用户名,但您最好使用dbc.DatabasesVX 而不是仅列出当前用户有权访问的数据库。
  • @dnoeth,但是如果是数据库下的数据库(分层数据库)?我可能需要一个单独的代码来弄清楚这些。所以我正在寻找一个默认情况下会为我做的工具。像 SQL Server Management Studio...

标签: sql database teradata


【解决方案1】:

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

在 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

【讨论】:

  • 这真是一个很酷的解决方案!添加更多,我正在寻找一种工具(查询工具,如 SQL 助手),它将在其数据库资源管理器窗格中预先添加这些数据库。你知道这样的工具吗?
  • 我使用 atanasuite,它有一个漂亮的数据库浏览器窗格和一百万个额外的内置工具。
  • 我希望我们不需要使用 Atanasuite 在数据库窗格中手动添加数据库?如果我能得到这个,我会试试。不确定老板是否会批准:/也听说过Teradata studio ...?
  • 谢谢。找到列出所有数据库和用户的 Teradata Administrator 工具。理解层次结构有点复杂。如果您有任何好的链接来了解层次结构,请分享:)
  • 我相信 teradata 管理员的日子屈指可数。因为我已经安装了工作室,所以我打算看看它,但我不得不更新我的 java,并且害怕我会破坏不同的安装,所以我停止了。 Atanasuite 列出了所有的海洋,而且它有大量用于数据复制、ttu 集成和其他一些东西的内置工具。也许如果他们提供试用许可证,可能值得一试。
猜你喜欢
  • 2018-08-05
  • 2018-11-19
  • 2017-07-19
  • 2020-12-07
  • 1970-01-01
  • 1970-01-01
  • 2016-07-08
  • 2019-04-12
  • 2020-10-06
相关资源
最近更新 更多