相关疑难解决方法(0)

SQL Server中的可延迟约束

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

从版本8.0开始,Oracle支持可延迟约束 - 仅在提交语句组时评估的约束,而不是在插入或更新单个表时.可延迟约束不仅仅是禁用/启用约束,因为约束仍处于活动状态 - 它们仅在稍后(批处理提交时)进行评估.

DC的好处是它们允许评估单独非法的更新,这些更新累积地导致有效的最终状态.一个示例是在两行之间的表中创建循环引用,其中每行需要存在一个值.没有单独的插入语句会通过约束 - 但组可以.

为了阐明我的目标,我希望将C#中的ORM实现移植到SQLServer - 遗憾的是,实现依赖于Oracle DC来避免在行之间计算插入/更新/删除命令.

sql database sql-server oracle constraints

33
推荐指数
2
解决办法
2万
查看次数

在SQL中输入数据时处理循环引用

您使用什么样的SQL技巧将数据输入到两个表中,其中包含循环引用.

Employees
    EmployeeID <PK>
    DepartmentID <FK> NOT NULL

Departments
    DepartmentID <PK>
    EmployeeID <FK> NOT NULL
Run Code Online (Sandbox Code Playgroud)

员工属于某个部门,部门必须有经理(部门主管).

我是否必须禁用插入的约束?

sql

8
推荐指数
2
解决办法
6346
查看次数

标签 统计

sql ×2

constraints ×1

database ×1

oracle ×1

sql-server ×1