我想要一个 SQL Server 2000 表列的约束,它是外键和检查约束的组合。我的列的值必须存在于另一个表中,但我只关心另一个表中的一个列等于指定值的值。简化表如下:
导入表: 零件编号 varchar(30) 数量 int 库存主: 零件编号 varchar(30) 输入字符(1)
所以我想确保part_number
存在于 中inventory_master
,但前提是类型为“C”。这可能吗?谢谢。
我想要一个 SQL Server 2000 表列的约束,它是外键和检查约束的组合。我的列的值必须存在于另一个表中,但我只关心另一个表中的一个列等于指定值的值。简化表如下:
导入表: 零件编号 varchar(30) 数量 int 库存主: 零件编号 varchar(30) 输入字符(1)
所以我想确保part_number
存在于 中inventory_master
,但前提是类型为“C”。这可能吗?谢谢。
您可以在 INSERT 和 UPDATE 语句上使用触发器,以确保完整性
创建触发器语法:http: //msdn.microsoft.com/en-us/library/ms189799.aspx
您可以使用 INSTEAD OF INSERT 触发器来模拟该行为。
当插入即将发生时检查值是否存在。