テーブルはすでにそこにありますが、どのように作成されているかわかりません。ここで、テーブルの主キーと外部キーの定義を取得したいと考えています。どうやってやるの?
10420 次
1 に答える
11
Teradata で PK/FK 情報を取得する方法はいくつかありますが、テーブルに PK/FK が定義されていない場合はすべて失敗する可能性があります。また、(特に FK の場合) データ ウェアハウスで定義されていない可能性が高くなります。その場合、データモデルに関する外部ドキュメントを入手する必要があります。
dbc.IndicesV はすべてのインデックスを保持しますが、インデックスごとに列ごとに 1 つの行があります。たとえば、4 列の PK は、「ColumnPosition」の順序で定義された 4 つの行になります。
"UniqueFlag" = 'Y' は、一意のインデックスであることを示します
「IndexType」は、Create Table での定義方法を示します。「K」= プライマリ キー、「U」= 一意の制約、「P」= プライマリ インデックス、「S」= セカンダリ インデックス
dbc.All_ri_childrenV は、定義された FK を保持します。
単一のテーブルだけの場合は、インデックス用の「HELP INDEX my_table」がありますが、その場合は、完全なソース コードを返す「SHOW TABLE my_table」を好みます。
于 2013-07-18T05:56:53.040 に答える