【问题标题】:Is there any way to see teradata username(schemaname) completely if the schema name has more than 30 characters?如果架构名称超过 30 个字符,有什么方法可以完全查看 teradata 用户名(架构名称)?
【发布时间】:2017-10-08 18:21:14
【问题描述】:

我想获取所有 teradata 架构名称并将其显示给用户。我的架构很少,名称中有超过 35 个字符。我试图从 DBC.Databases 中获取模式,但模式名称在元数据表中被截断为 30 个字符。是否有任何元数据表,我可以从中获得完整的架构名称而无需截断

【问题讨论】:

    标签: database teradata


    【解决方案1】:

    试试DBC.DatabasesV。一般不会有 30 个字符的限制。

    如果您查看定义,DBC.Databases(没有尾随“V”)是 DBC.DBase 顶部的视图。该视图中的DatabaseName 字段定义为:

    CAST(SUBSTRING(TRANSLATE(DBase.DatabaseName USING UNICODE_TO_LOCALE WITH ERROR) FROM 1 FOR 30)
            AS CHAR(30)) (NAMED DatabaseName),
    

    DBC.DatabasesV(带有尾随“V”)也指向同一个基础表,但上面没有相同的 CAST

    DBase.DatabaseName (NAMED DatabaseName),
    

    【讨论】:

    • 酷,我能够获取完整的模式名称。谢谢
    • @ramya:Teradata 的数据字典在 TD12 中从 CHAR(30) LATIN 切换到 VARCHAR(128) UNICODE,从那时起旧的 dbc-views(没有 V)已被弃用...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2013-09-14
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多