Ограничение проверки SQL Server, запрашивающее другие таблицы - PullRequest
0 голосов
/ 30 января 2012

У меня есть таблица с именем Address, которая имеет ненулевой столбец CityID и обнуляемый столбец DistrictID.

Я хочу убедиться, что если в таблицу введен район, то район действительно является райономособенный город.Могу ли я сделать это с помощью Ограничения проверки?

Моя структура таблицы выглядит следующим образом:

Город: CityID (int), Имя (nvarchar)

Район: DistrictID (int), CityID (int), Имя (nvarchar)

Адрес: AddressID (int), CityID (int), DistrictID (int)

Если это невозможно выполнить с проверочным ограничением, я бытакже хотелось бы увидеть триггерное решение.

1 Ответ

4 голосов
/ 30 января 2012

Составной внешний ключ, содержащий и cityid, и districtid, предоставит эту проверку.

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