根据条件在多对多表中保存一行

时间:2012-11-26 18:50:41

标签: sql sql-server sql-server-2008 many-to-many

我有3个表,形成多对多的关系,如下图所示。

enter image description here

如何按照以下规则在公司号1和用户号2之间保存UsersByCompanies表中的条目:

  • 当我们在用户和公司之间创建新条目时,UsersByCompanies中的IsEnabled属性必须设置为1,而Companies.CompanyCode = 1和Users.IDNumber = 2的任何其他行必须将其IsEnabled属性设置为0
  • 新行中的DateCreated属性必须具有当前日期。

1 个答案:

答案 0 :(得分:1)

听起来你需要一个插入触发器和一些默认值: 插入UsersByCompanies时,请在IsEnabled列上使用默认值,并设置插入触发器函数以执行更新以根据需要重置IsEnabled属性。 同样,对DateCreated属性使用默认值getdate()。