2012-01-29 73 views
0

我有一個名爲Address的表,它有一個非null的CityID列和一個可空的DistrictID列。查詢其他表的SQL Server檢查約束條件

我想確保如果一個地區進入表中該地區確實是該城市的一個地區。我可以用檢查約束來做到這一點嗎?

我的表結構如下:

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

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

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

如果它不適用於檢查約束,我也希望看到觸發解決方案。

回答

4

包含cityid和districtid的複合外鍵將提供此檢查。

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