代码之家  ›  专栏  ›  技术社区  ›  Ryan Ische

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

  •  0
  • Ryan Ische  · 技术社区  · 16 年前

    我希望在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”时。这有可能吗?谢谢。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Node    16 年前

    您可以使用INSTEADOFINSERT触发器来模拟该行为。

    当插入即将发生时检查值是否存在。

        2
  •  1
  •   Ilya Kochetov    16 年前

    可以对insert和update语句使用触发器,这样可以确保完整性

    创建触发器语法: http://msdn.microsoft.com/en-us/library/ms189799.aspx