SQL Server检查约束查询其他表

时间:2012-01-29 20:58:15

标签: sql sql-server-2008 triggers constraints

我有一个名为Address的表,它有一个非null的CityID列和一个可以为空的DistrictID列。

我想确保如果某个区进入该区,该区确实是特定城市的一个区。我可以使用Check Constraint吗?

我的表格结构如下:

城市:CityID(int),名称(nvarchar)

区:DistrictID(int),CityID(int),名称(nvarchar)

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

如果检查约束不可行,我也希望看到触发器解决方案。

1 个答案:

答案 0 :(得分:4)

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

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