我有一个名为Address的表,它有一个非null的CityID列和一个可以为空的DistrictID列。
我想确保如果某个区进入该区,该区确实是特定城市的一个区。我可以使用Check Constraint吗?
我的表格结构如下:
城市:CityID(int),名称(nvarchar)
区:DistrictID(int),CityID(int),名称(nvarchar)
地址:AddressID(int),CityID(int),DistrictID(int)
如果检查约束不可行,我也希望看到触发器解决方案。
答案 0 :(得分:4)
包含cityid和districtid的复合外键将提供此检查。
ALTER TABLE Address
ADD FOREIGN KEY (districtid, cityid) REFERENCES district(districtid, cityid)