0

製造会社のさまざまな施設の住所を含む住所テーブルがあるとします。外部キーにより、住所が属する会社を知ることができますが、各施設を区別するために代理 ID が必要です。この ID は、外部キーの値に基づいて自動的に増加します。注:キーには単純な整数値が必要です。

例えば:

私のテーブルには次の列があり、ORGANIZATION_ID は外部キーです。FACILITY_ID は、外部キーに依存する 2 番目の代理キーです。

     ADDRESS_TABLE
    ->ORGANIZATION_ID
    ->FACILITY_ID
    ->ADDRESS_LINE_1
    ->ADDRESS_LINE_2
    ->CITY
    ->STATE
    ->ZIP_CODE

組織IDに応じて施設IDを1から自動で増やしたい。すなわち

    ORGANIZATION_ID 1
    FACILITY_ID 1

新しい組織のデータを挿入するとき、施設は 1 から開始する必要があります

    ORGANIZATION_ID 2
    FACILITY_ID 1

次に同じ組織のデータを挿入すると、それに応じて施設 ID が増加するはずです。

    ORGANIZATION_ID 1
    FACILITY_ID 2

DB2でこれを実現する方法はありますか? 現在、DB2 V 10.5.6 を使用しています

4

1 に答える 1

2

いいえ。自動インクリメント、または DB2 が呼び出す ID キーは、複合キーをサポートしていません。

あなたができる最善のことは、必要な値の割り当てを処理する挿入トリガーを用意することです。SEQUENCEを使用する可能性があります。ただし、新しい各組織の施設に使用する新しいシーケンスを作成する必要があります。

于 2016-12-20T13:16:19.700 に答える