Voici les technologies utilisées pour le développement local:Microsoft SQL Server - comment appliquer uniquement la clé étrangère lors de l'insertion, mais permettre aux clés étrangères orphelines de rester?
- Microsoft SQL Server 2016 Web Edition
Disons que je le tableau suivant appelé CarCompanyTable
create table CarCompanyTable(
[CarCompanyid] uniqueidentifier DEFAULT newsequentialid() NOT NULL,
[CarCompanyName] [nvarchar](200) NOT NULL,
[AddressOfLocation] [nvarchar](200) NOT NULL,
CONSTRAINT [PK_CarCompanyid] PRIMARY KEY CLUSTERED (CarCompanyid)
);
Disons que J'ai une autre table appelée CarTable
create table CarTable(
[CarId] uniqueidentifier DEFAULT newsequentialid() NOT NULL,
[CarName] [nvarchar](200) NOT NULL,
[FKCarCompanyid] uniqueidentifier,
CONSTRAINT [PK_CarId] PRIMARY KEY CLUSTERED (CarId),
CONSTRAINT [FK_CarCompanyTableCarTable] FOREIGN KEY(FKCarCompanyid) REFERENCES [dbo].[CarCompanyTable] (CarCompanyid),
);
Comment la contrainte extérieure soit appliquée de telle manière que
1) vérifie si CarCompanyid clé étrangère existe sur une nouvelle entrée d'insertion dans le Cartable
2) permet toutefois qu'il y ait orphelin CarCompanyid étranger clé dans le cas où une entrée CarCompanyTable (avec des entrées CarTable correspondantes) est supprimée du CarCompanyTable
Quelqu'un pourrait me dire les modifications exactes que je devrais faire afin de s'assurer que les conditions susmentionnées sont remplies?