【问题标题】:How do I add comments to existing table DDL in Teradata?如何向 Teradata 中的现有表 DDL 添加注释?
【发布时间】:2013-01-27 21:41:07
【问题描述】:

我正在向表中添加一些新列,并希望将文档添加到表 DDL 中以供未来的开发人员使用。怎么办?

【问题讨论】:

  • 恕我直言不在数据库本身 - 如果一个表被规范化,列名应该主要说明一切。
  • 原因太复杂无法解释,这个新专栏肯定需要cmets。
  • 30 个字符通常不足以描述该列。注释确实有助于对表格或列进行自我记录。此外,这些 cmets 可以稍后被提取并加载到企业元数据管理器或数据字典中。

标签: ddl teradata


【解决方案1】:

通用语法:

COMMENT ON {OBJECT} {OBJECTNAME} AS '{255 characters of text};

详细语法示例:

COMMENT ON TABLE {DATABASE}.{TABLENAME} AS '{255 characters of text}';
COMMENT ON COLUMN {DATABASENAME}.{TABLENAME}.{COLUMNNAME} AS '{255 characters of text}';
COMMENT ON USER {USERNAME} AS '{255 characters of text}';
COMMENT ON DATABASE {DATABASENAME} AS '{255 characters of text}';

【讨论】:

  • 一年半后我才刚刚回到这个话题。在我再次需要它之前忘记了这一切。除了查询 dbc 视图之外,还有其他方法可以查看这些 cmets 吗?添加表格评论后,我希望它会显示在show table 中。我希望它能够在未来开发人员的显眼位置看到。
  • SHOW TABLE 只是为当前版本的表复制 DDL。如果对象有注释,当鼠标放在对象名称上时,它将作为工具提示显示在 Teradata 的 SQL 助手的数据库资源管理器中。请参阅下面 Bob 的示例,将 cmets 放入将使用 SHOW 命令显示的对象定义中。
  • 工具提示已确认。不过,在使用它之前你必须知道这一点,这太糟糕了。除非他们知道 1) 查询 dbc.tables 或 2) 将鼠标悬停在 SQLA 资源管理器中的表上,否则我预见到未来我如何实现按位的会有很多混乱。
  • 我建议文档级别更多地属于您的数据字典,而不是您的 DDL。数据库中的 cmets 限制为 255 个字符。业务规则或设计者决策可能更冗长,因此需要在适当的数据字典或元数据管理器中记录文档。
  • @RobPaller 有没有办法在创建表时写评论。那样的东西:create table tbname (col1 date comment 'elecday'); ?该死的,我认为不是(
【解决方案2】:

除了添加对象 COMMENT 之外,您还可以添加内嵌 cmets 来查看定义。由于大多数访问总是通过视图,这就是我们与负责表和文档更改的 DBA 沟通的方式。例如:

replace view VIEWDB.vmy_table as
locking DATADB.my_table for access
select *
from  DATADB.my_table
/* This is a comment */
/* Created by Bob */

这种技术的好处是当您执行SHOW SELECT * FROM VIEWDB.vmy_table 时会显示 cmets。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    相关资源
    最近更新 更多