如何将复合键作为外键传递

时间:2014-02-21 16:36:30

标签: sql sql-server-2008-r2

我有表CategoryBrandCategoryBrandsubBrand

CategoryBrand表格中有一个复合键(CategoryId intBrandId int

这些必须在表CategoryBrandsubBrand

中作为外键实现

CategoryBrandsubBrand

组成
  • CategoryBrandId int(作为categorybrand表的外键引用)
  • SubBrandId int

问题是如何实现这一点,因为如果我正在创建外键关系,它会一次显示I列作为外键。在这里,我需要将复合键作为外键传递

1 个答案:

答案 0 :(得分:0)

如果你有这个。 。

create table CategoryBrand (
  CategoryID int not null,
  BrandID int not null,
  primary key (CategoryID, BrandID)
);

然后你需要这些东西。

create table CategoryBrandsubBrand (
  CategoryID int not null,
  BrandID int not null,
  SubBrandID int not null,
  primary key (CategoryID, BrandID, SubBrandID),
  foreign key (CategoryID, BrandID) 
    references CategoryBrand (CategoryID, BrandID)
);