【问题标题】:Teradata: how can I get the primary key and foreign key definition of a table?Teradata:如何获取表的主键和外键定义?
【发布时间】:2013-07-17 17:18:10
【问题描述】:

桌子已经在那里,但我不知道它们是如何装箱的。现在我想得到表的主键和外键的定义。我该怎么做?

【问题讨论】:

    标签: sql teradata


    【解决方案1】:

    有多种方法可以在 Teradata 中获取 PK/FK 信息,但如果没有为表定义 PK/FK,所有方法都可能会失败。而且很有可能(特别是对于 FK)它们没有在数据仓库中定义。在这种情况下,您需要获取有关数据模型的一些外部文档。

    dbc.IndicesV 保存所有索引,但每个索引每列有一行,例如4 列 PK 产生 4 行,按“ColumnPosition”顺序定义:

    "UniqueFlag" = 'Y' 表示它是唯一索引

    “IndexType”表示它是如何在 Create Table 中定义的: 'K' = 主键,'U' = 唯一约束,'P' = 主索引,'S' = 二级索引

    dbc.All_ri_childrenV 保存已定义的 FK。

    如果它只是针对单个表,则索引有“HELP INDEX my_table”,但在这种情况下,我更喜欢“SHOW TABLE my_table”,它返回完整的源代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      • 2016-05-14
      • 2011-01-21
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多