4

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

4

1 回答 1

11

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

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

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

“IndexType”表示它是如何在创建表中定义的:'K' = Primary Key,'U' = Unique Constraint,'P' = Primary Index,'S' = Secondary Index

dbc.All_ri_childrenV 保存定义的 FK。

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

于 2013-07-18T05:56:53.040 回答