涉及不同表上的列的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