【发布时间】:2013-07-17 17:18:10
【问题描述】:
桌子已经在那里,但我不知道它们是如何装箱的。现在我想得到表的主键和外键的定义。我该怎么做?
【问题讨论】:
桌子已经在那里,但我不知道它们是如何装箱的。现在我想得到表的主键和外键的定义。我该怎么做?
【问题讨论】:
有多种方法可以在 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”,它返回完整的源代码。
【讨论】: