当主键为复合键时,主键和外键的顺序

时间:2019-02-05 01:41:30

标签: sql sql-server

我想知道句子顺序的重要性

  

主键(x,y,z)

  

外键(x,y)

在下面的示例中:

create table Angazovanje (
  DatumOd date not null,
  SifraRM numeric not null,
  SifraRadnika numeric not null,
  DatumDo date null,
  primary key (DatumOd, SifraRM, SifraRadnika),
  foreign key (SifraRM) references RadnoMesto (SifraRM),
  foreign key (SifraRadnika) references Zaposleni (SifraRadnika)
);

首先设置主键,然后设置外键。我的数据以这种方式工作。但是我被告知可能会发生错误,因此我应该先放置外键,然后再放置主键。

我可以举个例子说明如何导致错误以及为什么吗?因为我真的不明白订单与什么有关系。

1 个答案:

答案 0 :(得分:0)

您的代码很好。在create table中,无需注意此类声明的顺序。

我个人使用合成键-一个简单的identity()键。可以内联声明,而不是单独声明。

通常,您需要确保在外键之前 定义了主键和表。但是,这通常是在表级别上,而不是在表内。