涉及不同表上的列的SQL Server 2000约束

问题描述:

我想对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”。这可能吗?谢谢。

你可以使用一个INSTEAD OF INSERT触发器来模拟这种行为。

插入即将发生时检查值的存在。

你可以使用在INSERT和UPDATE语句的触发器,它会确保完整性

CREATE TRIGGER语法:http://msdn.microsoft.com/en-us/library/ms189799.aspx