代码之家  ›  专栏  ›  技术社区  ›  LBushkin

SQL Server中的可延迟约束

  •  32
  • LBushkin  · 技术社区  · 16 年前

    SQL Server的任何版本都支持可延迟约束(DC)吗?

    从8.0版开始, Oracle has supported deferrable constraints -只在提交语句组时计算的约束,而不是在插入或更新单个表时计算的约束。可延迟约束不同于仅禁用/启用约束,因为这些约束仍处于活动状态-稍后才对其进行评估(提交批处理时)。

    DC的好处是,它们允许对个别可能非法的更新进行评估,从而累积地导致有效的结束状态。一个例子是在两行之间的表中创建循环引用,其中每一行需要一个值。没有单独的insert语句可以传递约束-但是组可以。

    为了阐明我的目标,我希望将C中的ORM实现移植到sqlserver—不幸的是,该实现依赖于Oracle DC来避免计算行之间的插入/更新/删除顺序。

    7 回复  |  直到 7 年前