查询其他表的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)