0

親テーブルの複合 PK からの列を参照する子テーブルの列に FK を適用するロジックを作成または検索できません。

create table product(prod_id number,
    prod_name varchar2(20),
    price number,
    constraint PK12 primary key(prod_id,prod_name));

テーブルが作成されました。

create table purchase(prod_id number,
    purchase_price number,
    constraint FK12 foreign key(prod_id) references product(prod_id));
create table purchase(prod_id number,
    purchase_price number,
    constraint FK12 foreign key(prod_id) references product(prod_id))


ERROR at line 1:
ORA-02270: no matching unique or primary key for this column-list

このロジックを組み込む方法を教えてください。

ありがとう。

4

2 に答える 2

1

これはオラクルに限ったことではないと思います。参照されるテーブルに複合主キーがあることを考えると、複合キーを構成する列の 1 つだけでは、そのテーブル内のレコードを一意に識別するのに十分ではないことを意味します。したがって、1 対多の外部キー関係で主キーの 1 つの列のみを参照することはできません (たとえば、参照されるテーブルの 1 つのレコードは、参照するテーブル (FK を持つテーブル) に多くのレコードを持つことができます)。ただし、確立する関係が多対多の場合は、これが可能な場合があります。

HTH。

于 2013-07-29T13:04:09.370 に答える