查询其他表的SQL Server检查约束条件

问题描述:

我有一个名为Address的表,它有一个非null的CityID列和一个可空的DistrictID列。查询其他表的SQL Server检查约束条件

我想确保如果一个地区进入表中该地区确实是该城市的一个地区。我可以用检查约束来做到这一点吗?

我的表结构如下:

市:CityID(INT),姓名(NVARCHAR)

区:DistrictID(INT),CityID(INT),姓名(NVARCHAR)

地址:AddressID(int),CityID(int),DistrictID(int)

如果它不适用于检查约束,我也希望看到触发解决方案。

包含cityid和districtid的复合外键将提供此检查。

ALTER TABLE Address 
ADD FOREIGN KEY (districtid, cityid) REFERENCES district(districtid, cityid)