我有一个表,部门,有几个位字段来表示部门类型 一个是仓库(当为真时,表明部门是仓库)
我还有一个表,ManagersForWarehouses具有以下结构:
ID autoinc
WarehouseID int (foreign key reference DepartmentID from departments)
ManagerID int (foreign key reference EmployeeID from employees)
StartDate
EndDate
要设置仓库的新经理,我在此表中插入EndDate null,并且我有一个触发器,为该仓库的先前记录设置EndDate =新经理的StartDate,因此在某个仓库中会出现一个单独的经理时间。
我想添加两个检查约束,如下所示,但不知道如何执行此操作
由于
答案 0 :(得分:1)
你们都拥有100%坚如磐石的完整性,没有任何漏洞。只有受信任的约束没有任何漏洞。触发器不太可靠。
答案 1 :(得分:0)
您应该使用触发器来执行此操作。每张桌子一个。确保考虑多个记录插入,更新或删除。做任何其他事情都会使您的数据面临风险。数据不会仅从应用程序进入数据库。除非您希望数据不正确且无用,否则您无法从应用程序中强制执行此类操作。
答案 2 :(得分:-1)
不要在数据库表上加上这种约束 最好使用代码(业务逻辑)来强制执行此类操作。
编辑:与您的问题无关,但您也不应使用触发器对其他行执行更新。我没有可靠的链接支持它。