Ограничение SQL Server 2000, включающее столбец в другой таблице

Я хотел бы ограничение для столбца таблицы SQL Server 2000, которое является своего рода комбинацией внешнего ключа и ограничения проверки. Значение моего столбца должно существовать в другой таблице, но меня интересуют только значения в другой таблице, где один из ее столбцов равен указанному значению. Упрощенные таблицы:

import_table:
part_number  varchar(30)
quantity     int

inventory_master:
part_number  varchar(30)
type         char(1)

Поэтому я хочу убедиться, что part_number существует в inventory_master, но только если тип «C». Это возможно? Спасибо.


person Ryan Ische    schedule 09.10.2008    source источник


Ответы (2)


Вы можете использовать триггер INSTEAD OF INSERT для имитации такого поведения.

Проверяйте существование значения перед вставкой.

person Node    schedule 09.10.2008

Вы можете использовать триггер в операторах INSERT и UPDATE, который обеспечит целостность

Синтаксис CREATE TRIGGER: http://msdn.microsoft.com/en-us/library/ms189799.aspx

person Ilya Kochetov    schedule 09.10.2008