【发布时间】:2010-11-03 03:24:52
【问题描述】:
是否有任何版本的 SQL Server 支持可延迟约束 (DC)?
自 8.0 版起,Oracle has supported deferrable constraints - 仅在您提交语句组时评估约束,而不是在您插入或更新单个表时评估。可延迟约束与仅禁用/启用约束不同,因为约束仍然处于活动状态 - 它们只是稍后评估(提交批处理时)。
DC 的好处是它们允许对单独非法的更新进行评估,从而累积产生有效的最终状态。一个示例是在两行之间的表中创建循环引用,其中每一行都需要一个值存在。没有单独的插入语句会通过约束 - 但组可以。
为了阐明我的目标,我希望将 C# 中的 ORM 实现移植到 SQLServer - 不幸的是,该实现依赖于 Oracle DC 来避免计算行间的插入/更新/删除顺序。
【问题讨论】:
-
你基本上是在问this question的变体吗?
标签: sql sql-server database oracle constraints