我的一张表有一个由三个外键(order_no、product_code 和 product_size)组成的复合键。
在 Product_size 是主键的表中,我希望有一个由 Product_size 和 product_code 组成的复合键。如果我确实将它们设为复合键,单独的 product_size 将不是 PK,因此我无法在创建由三个外键组成的复合键时引用它。
create table product_stock
(
Product_Code varchar2(6) constraint productcode_fk references product(Product_Code),
Product_Size char(1) constraint size_chk check (Product_Size in
('L', 'l', 'M', 'm', 'S', 's' )),
Product_Unitprice number(7,2) not null,
Stock_Quantity number(4) not null,
constraint prodstock_comp primary key (product_code,product_size)
);
create table orderline
(
Order_No number(4) constraint orderno_fk references order_detail(Order_No),
Product_Code varchar2(6) constraint productcode2_fk references product(Product_Code),
Product_Size char(1) constraint productsize_fk references product_stock(product_size),
Product_Quantity number(4) not null,
constraint orderline_comp primary key (Order_No,Product_Code, Product_Size)
);
这甚至可能吗?