以下是用于本地开发的技术:
- Microsoft SQL Server 2016 网络版
假设我有一个名为 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)
);
假设我有另一个名为 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),
);
如何以这样的方式强制执行外国约束
1) 检查 CarCompanyid 外键是否存在于 CarTable 中的新插入条目
2) 但是,如果从 CarCompanyTable 中删除 CarCompanyTable 条目(具有相应的 CarTable 条目),则允许存在孤立的 CarCompanyid 外键
有人可以告诉我为了确保满足上述要求而需要进行的确切修改吗?