Deferrable Constraints in SQL Server(SQL Server 中的可延迟约束)
问题描述
是否有任何版本的 SQL Server 支持可延迟约束 (DC)?
Do any versions of SQL Server support deferrable constraints (DC)?
从 8.0 版本开始,Oracle 支持延迟约束 - 仅在提交语句组时评估的约束,而不是在插入或更新单个表时评估.可延迟约束不同于仅禁用/启用约束,因为约束仍然处于活动状态 - 它们只是稍后评估(当批处理被提交时).
Since about version 8.0, Oracle has supported deferrable constraints - constraints that are only evaluated when you commit a statement group, not when you insert or update individual tables. Deferrable constraints differ from just disabling/enabling constraints, in that the constraints are still active - they are just evaluated later (when the batch is committed).
DC 的好处在于,它们允许对个别非法的更新进行评估,从而累积导致有效的最终状态.一个例子是在两行之间的表中创建循环引用,其中每行都需要一个值.没有单独的插入语句会通过约束 - 但组可以.
The benefit of DC is that they allow updates that individually would be illegal to be evaluated that cummulatively result in a valid end state. An example is creating circular references in a table between two rows where each row requires a value to exist. No individual insert statement would pass the constraint - but the group can.
为了阐明我的目标,我希望将 C# 中的 ORM 实现移植到 SQLServer - 不幸的是,该实现依赖于 Oracle DC 来避免在行之间计算插入/更新/删除订单.
To clarify my goal, I am looking to port an ORM implementation in C# to SQLServer - unfortunately the implementation relies on Oracle DC to avoid computing insert/update/delete orders amongst rows.
推荐答案
目前 SQL Server 不支持它们.您要解决的问题是什么?
So far SQL Server does not support them. What is the problem you are solving?
这篇关于SQL Server 中的可延迟约束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:SQL Server 中的可延迟约束


- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- SQL 临时表问题 2022-01-01
- 更改自动增量起始编号? 2021-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01